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

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

Шедевры мирового моддинга

13.04.2021 18:11:50 | Автор: admin
Много лет моим главным увлечением был моддинг компьютеров. Я следил за всеми новинками, помогал вести тематические ресурсы, да и сам создал несколько работ (одну из них даже можно найти на Хабре).

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



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

Моя подборка максимально субъективна, и в неё, конечно, вошло далеко не всё, о чём стоило бы рассказать. Но если затея вам понравится, обязательно будут и следующие выпуски. Итак, поехали!

1. Pyramid


Автор: Gup (Henk Hamers)
Год: 2010
Ворклог



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



2. FuG-01/ET


Автор: Sheyr (Marcin Krup)
Год: 2005
Ворклог



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



Небольшое интервью с автором на русском языке

3. Recycle Your Computer


Автор: BeWize (Алексей Чистов)
Год: 2004
Ворклог



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



Фоторепортаж с выставки

4. The Weapon of Mass Destruction


Автор: G-gnome (Peter Dickinson)
Год: 2005
Ворклог



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



Примечательно, что многие детали были изготовлены вручную.



5. Zenith Antique 5-S-29 Radio


Автор: Gary Voigt
Год: 2010
Ворклог



Внимание, внимание! Говорит Нью-Йорк! Работают все радиостанции Соединённых Штатов Америки!.. Возможно, вы подумали, что перед вами компьютер, встроенный в старинный радиоприёмник. Это не так: ни одна историческая вещь при создании данного мода не пострадала. Автор с нуля изготовил копию понравившейся ему модели ретро-радио, да ещё и ухитрился разместить внутри мощный компьютер с системой водяного охлаждения. Такому подходу можно только аплодировать.



6. Cosmos Cruizer


Автор: Boddaker (Brian Carter)
Год: 2015
Ворклог



Это самая свежая работа в моей подборке, но её автор очень уважаемый моддер старой школы. На этот раз он взял за основу корпус Cooler Master Cosmos II и превратил его в подобие автомобиля в стиле хот-род. Из стеклоткани были смоделированы новые боковые стенки, благодаря которым граница между наружной и внутренней частями корпуса стирается.



7. Orac


Автор: G-gnome (Peter Dickinson)
Год: 2004
Ворклог



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



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



Авторский рендер:


Ворклог на русском языке

8. Fire Sound System


Автор: Strannik (Алексей Леонтьев)
Год: 2008



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



9. Grey Tower


Автор: Grizly
Год: 2011
Ворклог



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



10. Project Mars City


Автор: Crimson Sky
Год: 2007
Ворклог



За десятилетия, прошедшие с момента выхода первого Doom, было создано множество кейсмодов в стиле этой культовой игры. Но непревзойдённым по сей день остаётся шедевр от мастера Crimson Sky.



Общие очертания, мелкие детали, покраска, подвижные элементы придраться просто не к чему.



Думаю, не преувеличу, если скажу, что история моддинга делится на два периода до Project Mars City и после.



Заключение


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

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

Подробнее..

Как взломать систему безопасности с помощью датчика температуры DHT11, а все произошло из-за птичек и вышек 5G

01.04.2021 22:22:46 | Автор: admin
фильм Робот 2.0

Кинематограф стал неотъемлемой частью нашей жизни. Сопереживая героям, мы слово проживаем вторую жизнь, смотрим на мир глазами героев, начинаем смотреть на некоторые вещи иначе. Иногда для упрощения или достижения некоторых сюжетных сцен, режиссеры и сценаристы идут на допущения, которые в нашей жизни невозможны. Но во вселенной фильма, нет ничего невозможного. Могли ли Вы себе представить, что с помощью температурного датчика DH11, который подключается к Arduino, можно в легкую взломать систему безопасности? А вот во вселенной индийского фильма Робот 2.0, 2018 года это возможно.

Фильм Робот 2.0 повествует о душераздирающей истории о пагубном влияние вышек 5G на птичек. Когда давным давно, во время отсутствия мобильной связи и Интернета, в Индии была идиллия, люди жили в гармонии с природой. Но все изменилось с приходом мобильной связи. Пакши Раджана, орнитолог, большой любитель птичек, выяснил, что оказывается вышки 5G в мозгу птичек ломают систему навигации, и они дезориентированные, камнем летят в сторону земли и разбиваются в лепешку. Очень печальная история. Орнитолог попытался призвать людей прекратить пользоваться мобильными телефонами, но кто его послушает, людям гораздо важнее поставить лайки, сделать репосты, селфи. А птички, да кому они нужны. В общем, для защиты природы Пакши Раджан решил избавить мир от телефонов и заодно и от людишек.

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

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

Датчик DHT11 прикрепленный в терминалу ввода пин-кода:
фильм Робот 2.0

Идет напряженный взлом:
фильм Робот 2.0

Все, подобрали пароль, а красная лампочка даже и не моргнула:
фильм Робот 2.0

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

Страничка покупки датчика:
DHT11

Датчик DHT11:
фильм Робот 2.0 DHT11

DHT11 цифровой датчик замера влажности и температуры, второй по популярности после DS18B20, состоящий из термистора и емкостного датчика влажности. Также датчик содержит в себе АЦП для преобразования аналоговых значений влажности и температуры. Датчик DHT11 не обладают высоким быстродействием и точностью, но зато прост, недорог и отлично подходят для обучения и контроля влажности в помещении.

Фрагмент взлома системы безопасности из фильма можно посмотреть на 0:58 минуте (Youtube не дает залить ролик).

Вот и все!

А какие сцены с компьютерными приколюхами, Вам больше всего запомнились в фильмах?
Подробнее..

Модульный ПК PocKit универсальная система-конструктор для DIY-проектов и не только. Теперь с Raspberry Pi на борту

26.03.2021 22:10:30 | Автор: admin

Модульная техника всем хороша, при условии качественной сборки, конечно. Преимуществ много, основное: нет нужды менять свое устройство раз в 2-3 года. Не устраивает какой-то блок апгрейдишь его и все. Аналогичным образом обстоит дело и с ремонтом: вышедший из строя элемент можно заменить быстро и без помощи сервисных центров.

К сожалению, разработка модульных устройств дело не самое простое и, скорее всего, не самое выгодное. Об этом можно судить по большому количеству проектов модульных смартфонов и ноутбуков, которые были на слуху, а потом внезапно закрылись. Самый яркий пример Project Ara от Google. Но идея создания модульного устройства жива. Более того, недавно появился проект компьютера-Lego, который реализован в виде миниатюрного устройства Project PocKit. А еще оно работает на базе Raspberry Pi.

Что это за устройство?


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


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

А что там с модулями? Ведь их нет, наверное


Достоинство системы в том, что ее можно использовать и в качестве десктопного ПК, и как наладонник конфигурировать девайс можно весьма смело. Корпус печатается на 3D-принтере, так что его несложно заменить. На верхней панели выводятся контакты, к которым при помощи магнитного замка крепятся модули просто пристегиваются. И модули уже готовы, это не просто фантазии авторов проекта.

Сейчас готовы такие модульные элементы:

  • Вентилятор.
  • HDMI.
  • USB-порты.
  • Камера.
  • Картридер для SD.
  • Аудиопорт.
  • Температурный сенсор.
  • LCD дисплей.


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


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

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


Она зависит от самого главного модуля вычислительного блока. По словам разработчиков, ядро оснащено STM32 + ESP32 двухъядерным процессором. Увеличить производительность можно, в частности, благодаря Raspberry Pi. Базовый модуль используется для базовых же операций, а вот для запуска десктопных приложений без малинки не обойтись.


Если нужно работать с ОС Linux, то это можно сделать лишь с использованием Raspberry Pi.

Насколько можно понять, разработчики используют Raspberry Pi Compute Module 3 с системой на кристалле BCM2837. Но и без малинки система может много чего. Например, фотографировать, подключаться к сети и т.п.


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


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

Без проблем не обошлось


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

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

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

Больше информации о проекте на официальном сайте STM32+Arduino PocKit.

Подробнее..

Теркон в руках любителя, или собираем ещё один умный обогреватель

02.04.2021 12:23:26 | Автор: admin

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

Пролог

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

С чего все начиналось

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

В плане выбора комплектующих сейчас все вполне просто о видеокартах можно даже не задумываться и забыть что такое существует (спасибо за это ценам). А ещё китайцы предлагают весьма доступные и интересные варианты распаянные на стеклотекстолитовую подложку под настольный сокет мобильные CPU. Итого получился вот такой набор:

  • CPU QNCT (ноутбучный инженерник i7 8700 с подложкой под установкой в настольный сокет - мутатнт)

  • MB Asus H110T Thin Mini ITX

  • RAM 8Gb DDR4 x2

  • SSD 500ГБ, M.2 2280, SATA III

  • Пром. БП на 12V

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

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

SSDизначально брался под иные цели, но в итоге было решено его использовать в этой сборке. А так как материнка конструктивно не поддерживает размещение накопителей длиной 80мм и более, то пришлось использовать такой адаптер:

Проектирование СО, или придумываем себепроблемызанятие

Физика девушка бескомпромиссная хочешь компактности жертвуешь эффективностью охлаждения (теплообмена) и/или тишиной. А жертвовать ой как не хотелось тишиной (особенно после пополнения в семье). Под нож пошла компактность что бы сделать в идеале бесшумный ПК (пассивное охлаждение) нужен очень большой радиатор. Но путать ПК с батареей отопления тоже не вариант, так что можно предусмотреть (делать этого я конечно же не буду) размещение кулеров с минимальными оборотами даже незначительный поток воздуха по сравнению со свободной конвекцией улучшит эффективность теплоотвода с радиатора и позволит использовать вариант покомпактнее. Подобное утверждение на практике много раз было проверено при тестировании массивных кулеров, предполагающих работу без своего вентилятора.

на графике изстатьивидно, как резко начинает расти температура при снижении обдува (к этому моменту ещё вернемся в нашемдиагнозеслучае)на графике изстатьивидно, как резко начинает расти температура при снижении обдува (к этому моменту ещё вернемся в нашемдиагнозеслучае)

А что если радиатор будет частью корпуса и вообще на нем все разместить и MB, и накопитель, и блок питания? Взять за основу светодиодные профили. Сейчас их много доступных вариантов, да ещё и отрезают по размерам.

 Например 30см вот такого радиатора хватит, что бы закрепить на его основании комплектующие Например 30см вот такого радиатора хватит, что бы закрепить на его основании комплектующие

Хотя по виду (да и по факту) его будет маловато для полностью пассивного рассеивания ~50W в приемлемом температурном диапазоне. Иными словами что бы CPU не тротлил и был запас по температуре при нагрузках (до 80 градусов на кристалле). Но сейчас вопрос в другом как передать тепло от процессора на радиатор, да ещё и постараться распределить его по всему объему.

Тут важно отметить недаром материнская плата форм-фактораThinMini ITX. По спецификациям это гарантирует нам следующее:

  • Формат предполагает расположение платы по высоте ~25мм

  • Расположение сокета процессора фиксировано по стандарту

Варианты:
1. Разместить толстую медную болванку между CPU и радиатором. Но тогда MB придется крепить всеми внутренними разъемами/слотами лицом к основанию и к ним не будет никакого доступа. Этого вполне достаточно, что бы отмести такой вариант расположения.
2. Передавать тепло на радиатор, расположенный с обратной стороны MB с помощью тепловых трубок (ТТ).

Немного теории о тепловых трубках
Схематическое изображение ТТСхематическое изображение ТТ

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

Фитиль из оплеткиФитиль из оплеткиСпеченный медный порошок на стенках ТТСпеченный медный порошок на стенках ТТКапилляры на стенках ТТКапилляры на стенках ТТ

Как бы трубки не были хороши, есть у них и минусы:

  • падение эффективности при увеличении длинны трубки

  • зависимость эффективности от ориентации (влияние гравитации) оптимальное расположение испаритель снизу, конденсатор сверху

  • снижение эффективности теплопереноса при изгибании трубок. К сожалению документальное подтверждение сейчас не найду, но лет 7 назад встречал презентацию, где изгибание на 90 градусов приводит к потере 20-30% максимально передаваемой мощности

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

С классическими ТТ есть загвоздка их довольно непросто изгибать в домашних условиях. Шутка ли тонкостенная да ещё и с низким давлением внутри. Отсюда и довольно больше минимальные радиусы изгиба от 5 диаметров трубки. Даже если они относительно дешевы (200-300р на али встречал прямые за шт), то их все равно надо брать с большим запасом, ибо часть гарантированно сломается.

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

Что же нового предлагает КТТ по сравнению с классическими ТТ?

Принципиальная схема КТТПринципиальная схема КТТ

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

  • большая дистанция теплопереноса (до 22м метров, Карл!)

  • нет зависимости эффективности от ориентации КТТ

  • нет зависимости эффективности от изгибов трубки КТТ

  • высокая мощность. На примере КТТ из статьи до 120 Вт при длине конденсатора 67см. При том что диаметр трубки в зоне конденсации всего 2мм. Вот для примера значение максимальной мощности для типовых ТТ 150мм и 250мм длиной:

Скриншот из даташита ТТСкриншот из даташита ТТ

Минусом может быть разве что трудность монтажа в ряде случаев все таки тут не 1 трубочка, а кольцевой контур, где изгибание допустимо в зоне конденсатора. И испаритель изготавливается определенных размеров. Но меня это устроило, так что был заказана серийная модельКТТ 01 тип а:

Скриншот из даташита КТТСкриншот из даташита КТТ

Заказ оформляется, деньги исчезают... Немного ожидания и вот он, теркон:

Вскрытие посылки выявило, что КТТ пришёл с теплосъёмником в зоне конденсатора, без теплосъёмника на испарителеВскрытие посылки выявило, что КТТ пришёл с теплосъёмником в зоне конденсатора, без теплосъёмника на испарителе

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

Приступаем!

Такс, КТТ на руках, радиатор на полке. Пришлось погоняться за медной шиной толщиной 5мм, а ещё потребуется алюминиевая пластина толщиной 2мм. Сложнее всего было найти человека с ЧПУ фрезером по металлу и не отдать ему полцарства в виде минимальной стоимости заказа. Но раз статью пишу значит и таковой нашёлся!Набросав во Fusion 360 модельки, хватаю всеметаллоломжелезяки и приступаем вместе с мастером к изготовлению.

Теплосъёмник для испарителя был изготовлен из двух медных пластин 5мм толщиной, между которыми было просверлено отверстие под испаритель (8мм в диаметре, напоминаю). Он и будет передавать тепло с CPU:

Заготовка из скрепленных 5мм медных пластинокЗаготовка из скрепленных 5мм медных пластинокСверловка отверстия под испаритель КТТСверловка отверстия под испаритель КТТ

Что бы разместить змеевик конденсатора КТТ в радиаторе, фрезеруется канавка глубиной 1мм в его основании и такая же в алюминиевой прижимной пластине. Таким образом трубка будет прижата по всей окружности. Ну и отверстия под крепеж на этом же этапе.

Фрезеровка канавки и сверловка монтажных отверстий на ЧПУФрезеровка канавки и сверловка монтажных отверстий на ЧПУ

Далее следует кропотливый процесс шлифовки и подгонки, но в итоге вот такая красота:

После обработкиПосле обработки

Перед установкой в пазы радиатора и теплосъёмника промазывается все термопастой:

Радиатор и прижимная пластинаРадиатор и прижимная пластинаТеплосъёмник CPUТеплосъёмник CPU

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

Гибка КТТ вокруг пластиковой трубыГибка КТТ вокруг пластиковой трубы

И наконец установка теплосъёмника CPU, примерка, размещение стоек для MB...:

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

Сборка. Первые тесты и работа над корпусом

Вот уже есть предварительный итог смонтирована КТТ, компьютер собран для первых тестов (теплосъёмник прижат к CPU с помощью бекплейта)!

Можно включать!Можно включать!

Проверим пассивный вариант использования никаких кулеров! При низкой нагрузке (простой, серфиг, офисные утилиты....) температура процессора доходит до отметки 50 градусов (минут через 20 после включения и просмотре фильма). Жить можно, но если увеличить нагрузку

График температур при запуске встроенного стресс теста CPU-ZГрафик температур при запуске встроенного стресс теста CPU-ZВот что видит тепловизор после прогрева стресс-тестомВот что видит тепловизор после прогрева стресс-тестом

Очевидно, что полностью пассивный режим работы не наш случай. Нужно создать хотя бы небольшой поток воздуха (все таки достаточно много ушло времени для достижения предельных температур на максимальной нагрузке). То, что такому радиатору достаточно небольшого потока было проверено 50мм кулером от древней видеокарты. Просто бросив его поверх радиатора при тех же условиях и времени тестирования максимальная температура добралась до 87 градусов. Уже прогресс!

Этот малыш справился!Этот малыш справился!

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

Заключительный этап, или как не надо делать

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

Можно наделать сквозных вентиляционных отверстий в основании между ребер. И как бы это было удобно сделать сразу на чпу Очень не хотелось ради этого строить планы, договариваться. Сам прошляпил возможность, сам и решу эту проблему.
Для этого потребуется: дрель, сверло 5мм, втулка латунная с внутренним диаметром 5мм в качестве кондуктора и шаблон расположения отверстий (под втулку) из фанеры 6-8мм толщиной. Такую деталь на многочисленных лазерных резках сделать очень дешево.

Сверление сквозных вентиляционных отверстий по шаблонуСверление сквозных вентиляционных отверстий по шаблону

Так как плата расположена по центру радиатора (если смотреть вдоль), то с краев остается по 65мм. С одной стороны БП, с другой стороны SSD на переходнике. И SSD по высоте занимает очень мало места, так что над можно разместить 2-3 60мм кулера. Остановимся на 2х.

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

Пазл!Пазл!Много суперклея и корпус собранМного суперклея и корпус собран

Далее установка всех разъемов/кнопок в корпус, подготовка к окончательной сборке.

Ещё чуть чуть и будет готово!Ещё чуть чуть и будет готово!

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

Впихнуть невпихуемоеВпихнуть невпихуемоеЕщё фото с разных ракурсов

Вот результаты тестов при оборотах кулеров ~1000PRM:

Уже лучшеУже лучше

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

Дополнительная информация и благодарности

В статье были использованы материалы из публикаций:Процессорный охладитель Cooler Master MasterAir Pro 4Тепловые трубки

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

Подробнее..

Моя первая Ардуинка переключатель USB

04.04.2021 20:17:04 | Автор: admin

Пару лет назад я обзавёлся топовым смартфоном одной южнокорейской компании. Среди его особенностей оказалась поддержка DeX - способа запуска на большом экране, подключаемом к док-станции через HDMI, отдельных приложений и даже целого Linux в контейнере (к сожалению, последнее ушло со свежей версией Android). Кроме того, порадовала поддержка переферийных устройств - так, внешняя звуковая карта Asus Xonar U7, с которой у меня пущен сигнал на ресивер с большими колонками, завелась без проблем. Отсюда возникло желание превратить телефон в мини-рабочее место, научив делить переферию с системником - напирмер, чтобы вой кулеров не мешал слушать музыку или смотреть видео. По сути, требовалось KVM-решение, удовлетворяющее ряду хотелок. Так я познакомился с Arduino.


Требования

До этого у меня на столе "жил" простой четырёхпортовый USB-хаб с клавишей отключения. К нему были подключены проводные клавиатура и мышь, а также Web-камера. Камеру я обычно физически отключал от хаба вне времени использования (паранойя), а клавиша отключения на хабе оказалась удобна тем, что позволяла с комфортом чистить клавиатуру и мышь, не выдёргивая разъёмы и не выключая компьютер. Кроме того, в хаб периодически включался аппаратный менеджер паролей. Звуковая карта и принтер были подключены напрямую к разъёмам на системном блоке, и этим набор USB-переферии ограничивается. Все перечисленные устройства работают по стандарту USB 2.0. На док-станции присутствуют два порта USB той же версии.

Заводить отдельную клавиатуру для телефона, конечно же, не хотелось. Кроме того, я очень привык к удобной мыши Logitech G600 с двенадцатью хорошо прощупываемыми дополнительными кнопками под большим пальцем, обладающими тем преимуществом, что назначенные на них комбинации работают под любой операционной системой и даже в BIOS без установки дополнительного ПО. Поэтому я решил использовать существующие клавиатуру и мышь, но делить их между устройствами. Кроме того, должен существовать способ отключить их совсем. Звуковая карта тоже должна переключаться между хостами и отключаться (чтоб не жрала энергию в отсутствие питания от сети). Отключение камеры решено было внести в ту же систему. Принтер остался в стороне, поскольку смартфон не захотел с ним работать.

Таким образом был сформирован следующий список требований к "умному" USB-переключателю:

  1. Клавиатура и мышь должны совместно переключаться между телефоном и системным блоком, а также отключаться.

  2. Звуковая карта должна переключаться между устройствами и отключаться независимо от клавиатуры и мыши.

  3. Камера должна подключаться к системному блоку и отключаться независимо от других устройств. Факт того, что камера сейчас подключена (даже если на ней самой не горит лампочка), должен привлекать к себе внимание (например, миганием светодиода).

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

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

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

  7. Телефон может быть подключен к переключателю как через док-станцию с внешним питанием, так и напрямую (например, чтобы включать музыку во время мытья пола, когда на сетевом фильтре под столом и, соответственнно, на док-станции нет питания). Желательно иметь для подключения через док-станцию и напрямую разные интерфейсы, чтобы не выдёргивать каждый раз разъём из док-станции. Вместо телефона может также быть подключен ноутбук (если HDMI-кабель с док-станции вручную переключить на него же, получится полноценное рабочее место, пока стационарный компьютер на обслуживании).

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

  9. Должна присутствовать индикация, показывающая текущее состояние коммутации.

  10. Вся конструкция должна занимать не слишком много места на столе.

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

Элементная база

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

  1. Шилды с мастер-разъёмами USB предназначены для того, чтобы контроллер мог сам опрашивать подключенную к ним переферию, выступая ведущим устройством на шине. При этом непосредственно в формировании и разборе пакетов Arduino не участвует - это делает сторонняя микросхема.

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

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

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

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

Найти контроллеры хабов USB в таком виде, чтобы их можно было распаять на плате, мне не удалось - возможно, потому, что я неправильно искал. Поэтому я просто зашёл в компьютерный магазин рядом с домом и купил два самых простых и дешёвых хаба. Дома я вскрыл корпуса, извлёк из них платы и удалил с них разъёмы. Остались небольшие (примерно 2 на 8 сантиметров) панели, которые можно спрятать в корпус устройства, соединив с остальными компонентами монтажным проводом.

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

FST3125FST3125

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

Несложный подсчёт показывает, что одной такой микросхемы достаточно для переключения пары выводов D+ и D- одного устройства USB между двумя источниками. Стало быть, для управления одним каналом коммутации требуется два бита (или два вывода ардуинки):

Прямое управление ключамиПрямое управление ключами

Тем не менее, напрямую подавать управляющий сигнал от контроллера к коммутатору мне не хотелось. Дело в том, что, помимо трёх нужных мне состояний ("отключено", "подключено к первому источнику", "подключено ко второму источнику"), такая схема подключения даёт возможность открыть все ключи одновременно (например, из-за ошибки в программе или во время загрузки, когда значения выходных сигналов ещё не выставлены), что приведёт к соединению шин данных сразу трёх устройств, два из которых являются ведущими. Чтобы избежать такого сценария, я вставил между ардуинкой и коммутатором аппаратную логику, исключающую возможность одновременного открытия всех ключей:

Подключение FST3125, исключающее одновременное открытие всех ключейПодключение FST3125, исключающее одновременное открытие всех ключей

Инвертор перед нижним элементом "или" позволяет сигналу "SIDE" выбирать группу ключей, которая будет открыта. В то же время, высокий сигнал на входе "ON" отключает все ключи сразу.

В качестве контроллера я взял Arduino Nano. Питание на него я подал через пин +5V, а вообще подачу питания организовал через пятивольтовые механические реле V23079A1001B301 (почему не через полупроводники - расскажу ниже). Светодиоды взял первые попавшиеся - убедившись, что через 220-омные резисторы ток и яркость получаются адекватными. Управление яркостью светодиодов взяли на себя встроенные ШИМы контроллера.

Поскольку ножек у Ардуинки не хватало, управление светодиодами (а также некоторой другой логикой на плате, см. ниже) я организовал через микросхемы серии AC32 (на макетке пробовал сначала DIP-исполнение, а потом перешёл на SOIC). Кроме того, в нескольких местах используются инверторы - модели LS04.

Дизайн

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

Готовый USB-хаб (слева) и проект "умного" хаба (справа)Готовый USB-хаб (слева) и проект "умного" хаба (справа)

Работать такое устройство должно было следующим образом. Пять разъёмов USB-A, расположенных столбиком, по проекту были объединены в четыре группы и управлялись четырьмя кнопками (на рисунке - справа). Первая группа (два разъёма) предназначалась для клавиатуры и мыши, вторая (один разъём) - для звуковой карты, третья (один разъём) - для камеры, четвёртая (один разъём) была оставлена про запас.

Под крышкой находились те самые два хаба, подключенные к ведущим устройствам через три разъёма USB-B, расположенные в верхнем торце устройства. Правый разъём предназначен для подключения к компьютеру и всегда связан с "правым" хабом. К левому и среднему разъёмам подключались телефон и док-станция: когда телефон подключен, "левым" хабом владел он, в противном случае хаб доставался док-станции. Верхний ряд светодиодов отображал состояние "сторон"-хабов: зелёный - подключено к постоянному устройству, оранжевый - подключено к портативному устройству (телефону), красный - отключено.

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

Этот проект был затем пересмотрен по нескольким параметрам.

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

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

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

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

Фотографию пульта в работе, а также его относительного размера к основной плате я привожу ниже.

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

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

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

Макетирование

Проект пережил две макетки, в сумме прожившие у меня на столе более полугода. Их фотографии я прикрепляю ниже.

Первая макетка - питание через диодыПервая макетка - питание через диодыВторая макетка - добавились реле и дополнительные светодиоды в левом верхнем углуВторая макетка - добавились реле и дополнительные светодиоды в левом верхнем углу

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

Далее, нужно было выбрать схему подключения светодиодов. Поскольку 6 двуцветных светодиодов и 2 одноцветных - это 14 каналов, нечего было и думать подключить их напрямую к ардуинке - ног не хватило бы. Кроме того, мне хотелось поиграться с ШИМами, снизив яркость индикаторов каналов в простое, но зажигая их ярко при нажатии на любую кнопку. "Аварийные" светодиоды я решил заставить мигать - за 4.5 секундами тления должна была следовать яркая вспышка длительностью в полсекунды.

Arduino Nano предоставляет всего шесть ШИМов. Я распределил их следующим образом:

  • Управление яркостью красной компоненты "левых" светодиодов;

  • Управление яркостью зелёной компоненты "левых" светодиодов;

  • Управление яркостью красной компоненты "правых" светодиодов;

  • Управление яркостью зелёной компоненты "правых" светодиодов;

  • Управление светодиодом "камера включена";

  • Управление светодиодом "звуковой карте не хватает питания".

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

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

Первая проблема была тривиальной и сводилась к нехватке питания. Как показал эксперимент, просто взять и подключить все четыре устройства к одному хабу нельзя: клавиатура и мышь в сумме потребляют до 300 мА, камера - до 440, звуковая карта - до 540, и это не учитываея питания самой схемы. (Напоминаю, что я решил ограничиться стандартом USB 2.0 с 500 мА на порт, пусть даже материнские платы обычно и разрешают чуть более высокое энергопотребление.) В итоге я решил подключить компьютер через два кабеля вместо одного, предоставив звуковой карте как самому прожорливому потребителю отдельную шину питания - это показалось проще, чем поднимать версию USB. Если же компьютер не выдаёт напряжения на USB-разъёмы, то питание предоставляется оставшимся хостом (телефоном или док-станцией): совместное использование всех устройств в такой конфигурации невозможно, но и юзкейза для подключения всей переферии при обесточенном компьютере я не придумал. Соответственно, "аварийный" светодиод звуковой карты должен мигать, если при питании не от компьютера включены она и что-то ещё.

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

Вторая проблема тоже была связана с питанием. "Плюс" с трёх различных источников я изначально планировал свести через диоды с общим катодом, но испытания на макетке показали, что те диоды, которые попались мне под руку, под максимальной нагрузкой давали просадку напряжения почти на целый вольт, что я счёл неприемлимым (стандарт USB допускает минимум в 4.75В). Вместо диодов я организовал подачу питания через механические реле - 30 мА "лишнего" тока на источник выглядели разумной платой за гарантированно равные потенциалы, хотя предполагаю, что опытные радиолюбители нашли бы решение получше.

Переход на реле, впрочем, вызвал другую, неожиданную проблему. Поскольку логика работы контроллера (как минимум, по части управления светодиодами) зависит от того, на какие из разъёмов типа B подано напряжение, эта информация должна быть каким-то образом подана на него. Не мудрствуя лукаво, я завёл эти напряжения на аналоговые входы ардуинки, подтянув к нулю через резисторы номиналом 33k. Это нормально работало с диодами, однако реле добавили задержку, равную времени срабатывания механики, между появлением напряжения на аналоговом входе и на пине +5V. В итоге контроллер получал питание от аналогового пина и зависал на старте. Для исправления ситуации оказалось достаточно поставить между вводом питания и аналоговым пином ещё один резистор, на 18k - теперь до подачи питания на пин +5V Arduino не хватало тока, чтобы включиться, и старт проходил нормально.

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

  1. Отключаем линии связи со "старым" ведущим устройством.

  2. Отключаем питание.

  3. Ждём две секунды.

  4. Включаем питание.

  5. Включаем линии связи с "новым" ведущим устройством.

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

Ещё одной проблемой макеток были небольшие потери пакетов высокоскоростных устройств - изредка выпадали кадры с камеры, а в колонках при работе с телефона раздавались щелчки. Эти проблемы удалось нивелировать, сократив длину монтажного провода и, где возможно, подключив разрезанные USB-кабели напрямую к коммутаторам вместо распайки разъёмов USB-A и USB-B на макетке.

Итоговый проект

Финальная структурная схема коммутации линий данных выглядит следующим образом:

Линии передачи данных USBЛинии передачи данных USB

Здесь все переключатели с K1 по K5 представлены микросхемами FST3125. K1 и K2 управляются совместно, остальные - независимо. K1..K4 переключаются сигналами с контроллера, K5 - наличием напряжения на разъёме USB B, к которому подключается телефон.

Разводка питания выполнена по следующей схеме:

Разводка питанияРазводка питания

Земля (на схеме опущена) на всех разъёмах и на плате общая. Переключатели с K6 по K11 - это реле V23079A1001B301. Легко видеть, что питание схемы и большей части переферии обеспечивается системным блоком, если он выключен - то док-станцией, а в крайнем случае - телефоном. Для этого реле K6 и K7 управляются напрямую наличием питания на соответствующих разъёмах.

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

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

Плату я заказал в Китае. В готовом виде она выглядит следующим образом:

Готовые платыГотовые платы

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

Неприятным сюрпризом стали проблемы с потерей пакетов с камеры. Вскоре выяснилось, что пакеты теряются, только если камера подключена к хабу, соединённому с компьютером без промежуточной логики. При подключении через второй хаб, соединённый с ведущими устройствами через коммутатор FST3125, потерь не было. Не было их также и при переключении камеры на разъём, предназначенный для звуковой карты и подключенный к системному блоку в обход хабов. Наконец, подключив хаб напрямую к компьютеру обрезком USB-кабеля (а не через разъём USB-B, распаянный на плате), я снова добился отсутствия потерь.

Таблица ниже содержит информацию о том, в каких случаях наблюдались потери пакетов.

Состав тракта

Потери пакетов

Компьютер - кабель - разъём USB B - дорожки на плате - провода между платой и хабом - хаб - провода между хабом и платой - дорожки на плате - микросхема-коммутатор - дорожки на плате - разъём USB A - кабель - камера

Да

Компьютер - кабель - хаб - провода между хабом и платой - дорожки на плате - микросхема-коммутатор - дорожки на плате - разъём USB A - кабель - камера

Нет

Компьютер - кабель - разъём USB B - дорожки на плате - микросхема-коммутатор - дорожки на плате - разъём USB A - кабель - камера

Нет

Компьютер - кабель - разъём USB B - дорожки на плате - микросхема-коммутатор - дорожки на плате - провода между платой и хабом - хаб - провода между хабом и платой - дорожки на плате - микросхема-коммутатор - дорожки на плате - разъём USB A - кабель - камера

Нет

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

Чтобы проверить эту теорию, я соединил хаб с основной платой не монтажным проводом, а отрезком того самого кабеля, которым он далее подключен к компьютеру через разъём USB B. Результат превзошёл все ожидания: потери кадров полностью прекратились, и всё заработало как часы.

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

Основной модуль в сбореОсновной модуль в сборе

Программа написана на C++ и доступна по ссылке. Я постарался разделить сущности, отвечающие за взаимодействие с различными компонентами схемы, хотя и поленился выделить код методов в файлы cpp, рассудив, что система сборки Arduino Studio всё равно не извлечёт из этого какой-либо выгоды. За работу с кнопками (прежде всего, антидребезг) отвечает библиотека GyverButton. За тайминг (отключение устройств, мигание и снижение яркости светодиодов) - GyverTimer. И то, и другое достпно в пакете GyverLibs - пользуясь случаем, выражаю его автору свою благодарность.

Резюме

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

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

Подробнее..

Edge платы для домашнего Computer Vision

13.04.2021 06:09:41 | Автор: admin

Я люблю делать всякие странные штуки с Computer Vision. Из того, что я выкладывал на Хабре - умная кормушку для птиц и камера для слежения за ребенком. По работе примерно тем же занимаюсь. Так что слежу за актуальным рынком embedded устройств для ComputerVision. Прошлый обзор я делал полтора года назад. Для Embedded это долго. В этом я сосредоточусь на устройствах которые вышли недавно + некоторый анализ что из этих устройств можно использовать дома/для хобби.

Рассказ будет построен следующим образом:

  • Продуктовые железки которые стали классикой продакшна / железки которые почти доросли до таких.Их можно взять и запустить из коробки. Большие OpenSource комьюнити/персональные фреймворки. Время развертывания обученной сети на такой железке в 1-2 дня.

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

  • Железки которые выглядят интересно, но нет ни гайдов по ним, ни историй успехи, ни подробной документации.

  • Железка есть информации почти нет/нельзя получить без запросов. На рынке нет истории использования/успеха.

Сразу несколько дисклеймеров, чтобы не возвращаться к ним:

  • Далеко не все из перечисленного я лично использовал/тестировал

  • Далеко не все перечислено. Я уверен что забыл/не знаю многое. И очень надеюсь что в комментарии накидаете чего-нибудь интересного

  • Я фокусируюсь на устройствах где есть GPU/NPU или прочие ускорители инференса. Безусловно, есть всякие FPGA, и прочее, но я не считаю их применимыми для хоббийных проектов. (что такое NPU GPU TPU и другие аббревиатуры - можно прочитать в этой замечательной статье)

Часть 1. Ближе всего к продукту

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

  • Jetson

  • Intel

  • Coral

  • Android телефоны

  • Прочие Embedded, устройства с хорошим процессором, без NPU/GPU

И в этом списке за последние 2 года появился бы лишь Coral. Но, в реальности, все сильно интереснее. Появились не только и не столько новые архитектуры, как имплементации/доработки старых. О чем мы и поговорим.

В мире Jetsonов новинок нет. Сейчас в продаже:

  • jetson nano

  • jetson xavier nx

  • jetson agx

  • jetson tx2

12ого началась конференция GTC от NVIDIA, но ничего нового на ней не объявили, так что, скорее всего, на следующий год ничего нового не будет.

Встречаются имплементации Jetson'а, под другие экосистемы. Самое известное - AWS Panorama. Jetson находящийся внутри экосистемы Амазона.

PanoramaPanorama

Jetson, безусловно, одна из самых удобных плат для хобби. Есть разводка GPIO, много кода который работает из коробки. Нейронные сети можно никуда не конвертировать, используя в оригинальном фреймворке.
Cтоит понимать, что из всех четырех Jetson'ов для хобби лучше всего подходит Nano. Он стоит лишь 100$, что значительно меньше следующего в серии NX, стоящего 400$. В теории, TX2в середине, но его почти нет в продаже + менее удобная плата. Проектов на Jetson очень много. Например из того что было в медийном пространстве - 1, 2. Вот тут есть неплохая подборка.
Лично я участвовал где-то в 5-7 проектах где Jetson был основной платформой. 2-3 из них переросли в полноценные продукты. Но, вынужден сказать, что для хобби его не использовал ни разу. Почему? Какая-то совокупность факторов всегда. Nano у меня был первой серии, там были баги по питанию. Иногда была не нужна производительность дополнительная. Иногда хотелось опробовать чего-то нового.

В отличие от Jetson, на базе Movidius появляются интересные штуки. В первую очередь это M.2 и mPCIe карты. Какие-то даже уже были, когда я писал прошлый обзор: 1, 2, 3.
Сейчас их очень много от разных производителей.

Удобны ли ли они для каких-нибудь прототипов и хобийных проектов? Мне кажется, что ниша есть, но очень узкая:

  • Когда надо много производительности (есть сборки где есть несколько мовидиусов)

  • Когда USB соединение слишком нестабильно, но M.2/PCIe хватит (переносные устройства)

Во вторую очередь - это ряд устройств от luxonis. Они устраивали большую компанию на кикстартере про OAK и OAK-D. OAK это платы где movidius воткнут не на материнскую плату, а на плату с камерой. Кроме того, у них есть несколько устройств с movidius когда он стоит на плате 1, 2. Я не буду вдаваться подробнее тут, кому интересно - про них я делал более подробный обзор у себя в блоге/на Youtube:

Кому лень читать/смотреть - вот краткая выдержка:

  • + Минус одно USB соединение + к стабильности - для части проектов полезно

  • - От USB все равно не уйти - до прода скорее всего не дойдет

  • + Неплохой дизайн, неплохой корпус

  • - Заменили хороший OpenVino на какой-то мутный DepthAI

  • - Дорого. Дороже чем собрать такое с оригинальным Movidius'ом, дороже чем с Jetson Nano

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

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

Кроме luxonis до movidius'а в камере догадался FLIR, достаточно крупный производитель камер. Они выпустили FireFly DL, который явно на порядки более продуктовый чем OAK, а стоит только на 100$ дороже (+объектив).

Чтобы закончить с Movidius окончательно. По простоте использования/наличию документации/комментариям и поддержке - на мой взгляд Movidius - это один из самых разумных ускорителей для своих проектов на нейронных сетях. Его минус - сложный переход с продакшну, и необходимость конвертации сети. То что вышло за последние годы - расширяет возможности использования. Но все же мне не хватает плат сравнимых с RPi3 где мовидиус бы стоял напрямую на плате.

Google Coral. Вот тут много нового. В своем прошлом обзоре я был крайне недоволен им - очень ограниченные платы, очень бажные. Но прогресс. Баги пофикшены, выпущена новая линейка. Есть почти все то же самое что и в movidius, только напрямую от производителя - отдельные платы, стики, M.2, pci-e, чистые чипы, и.т.д..

В качестве основного фреймворка - специальный tflite, где уже сильно меньше потерь на конвертации. Но, как видно, слоев все равно сильно меньше чем в том же ONNX.
Из плюсов, про которые не сказал - на базе Coral уже сторонние производители создают свои решения. Например Asus. Из минусов - считанные разы слышал что его использовали в продакшене. И, обычно, для каких-то простых задач.
Для себя я понимаю почему я избегаю Coral - при прочих равных не хочу трогать TensorFlow. А по текущим характеристикам он нигде не превосходит вариантов выше.

Телефоны. Так же, стоит отметить, многие телефоны получили поддержку из плат сопроцессоров для нейронных сетей. Есть несколько фреймфорков для инференса моделей на них. Например тут и тут описывал. Зачастую телефон стал удобнее чем embedded для пилота и хобби. Основной минус - отсутствие периферии. Второй серьезный минус для меня - внутренняя инфраструктура приложений. Конечно, Unity и Flutter упрощают логику использования. Но все же, лично для меня, телефоны сильно сложнее чем Linux-системы.
С другой стороны, в телефоне уже есть и камера и акселерометр, и интернет.

Прочее. Под "прочим" я в первую очередь подразумеваю системы где заход в нейронные сети идет со стороны процессора. Например в процессорах Intel за счет OpenVino можно сильно оптимизировать сети. На некоторых процессорах, например на RaspberryPI есть оптимизация под инструкции Neon. RPi4 вполне может справляться с какими-то задачами детекции и трекинга в реальном времени. Так что если вам нужно с помощью машинного зрения раз в день проверять рассаду - думаю подойдет.

Часть 2. Работает, но мало информации

Есть такая забавная штука. В ML сейчас 90% знаний открыто. Есть статьи, большая часть публикаций с OpenSource. Подробнейшие фреймворки на Nvidia и Intel. Но рынок аппаратных платформ был исторически не такой. Хотите подключить камеру по csi-mpi к своей платформе? Будьте добры купите дорогущий мануал по протоколу. Хотите разрабатывать на нашей платформе? Для этого вам нужно специальное программное обеспечение которое просто так вы не скачаете. И много фирм по производству железа по-другому и не мыслят. Как результат мы имеем полтора гайда на платформу до её покупки. Невозможность протестировать до покупки. Отсутствие форумов по теме. И проблему с каждой функцией где что-то пошло не так.

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

  • RockChip

  • Gyrfalcon

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

RochChip. Основная платформа на которой все делается - Rockchip 3399Pro. Самая популярная реализация, наверное - Firefly, RockPiN10 или Toybrick.

Что забавно, у того же ASUS есть версия не только на базе Google Coral, но и на базе RockChip.
Сейчас разрабатывается новая версия - 1, 2.
В целом, плюс RockChip'а - это плата которую любят все разработчики железа. Есть референсный дизайн, комплектующие, и.т.д. Собрать продукт проще и быстрее чем на Jetson.
Но перенос сети весьма непредсказуем. Документация куцая и полукитайская. Как поддерживается - не понятно. Я видел несколько проектов где сети все же перенесли. Но, гарантировать что это всегда можно, нельзя.

Gyrfalcon. Вторым примером закрытой архитектуры, но на базе которой я видел проекты - является Gyrfalcon

Забавно, что платы на его базе в продаже почти отсутствуют. Что-то из того что есть: 1, 2, 3 .

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

Делать ли свои проекты на базе этих платформ? Подходят ли они для хобби? В целом, такое мне кажется возможным. Главное чтобы были простые сетки. Классификация/базовая детекция, и.т.д.
По цене такие платформы достаточно дешевы и сравнимы с OpenVino|Jetson вариантами.
Но надо серьезно понимать зачем так делать. Это может быть:

  • желание сделать продукт из своей разработки

  • желание распаять свою систему

  • нехватка в Jetson|RPi каких-то возможностей

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

Часть 3. Внешне все выглядит неплохо, есть какая-то документация, но примеров нет

Пожалуй, сюда я отнесу только одну плату Khadas VIM3 . Много кто о ней знает, но не видел ни одного человека который бы что-то на ней сделал. Есть в открытой продаже, просто купить. Заявлены неплохие параметры по скорости.

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

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

Часть 4. Железки есть, информации нет

Большая часть плат тут имеет очень слабую документацию. Часть плат - это отладочные платы для мобильных платформ. Другая часть - платы специально под ML, но по которым очень мало информации и данных в интернете.

BeagleV. Плата которая пока не вышла, но выглядит неплохо. Разработана на базе процессора U74 от SiFive. Используется RISC-V архитектура.

BeagleBoard - странная плата с комьюнити вокруг. Именно вокруг этого комьюнити частично построена плата BeagleV. Плата сделана на базе NPU модуля от Texas Instruments. Вроде даже какие-то репозитории есть:

  1. Фреймворк от TI для обучения нейронных сетей. Аж 55 звезд на гитхабе.

  2. Репозиторий платы. Аж 88 звезд.

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

Пример настоящего Edge (минимальное использование ЦПУ и энергоэффективности) это - Sipeed Maixduino и Grove AI Hat. Но, разработка на них, судя по отзывам, которые я слышал, ужасна. Сети плохо поддерживаются, мало производительности. Вот тут пример использования. Ну, по сути все проблемы обычного Arduino.
Я видел людей которые делали и адекватные проекты на их базе, и хоббийные. Но я не готов:)

Глобально, Qualcomm - это, конечно, производитель процессоров для мобильных. Но, на их же базе, есть какое-то количество именно embedded платформ. При этом, Qualcomm - имеет свой SDK, и свою платформу для исполнения нейронных сетей. Года 2.5 назад я сталкивался с ней. И тогда там была жесть. Простейший слой сложения не поддерживался. Что там говорить про сплиты или объединения. По сути работал лишь VGG на трехканальный вход.
Сейчас, судя по слухам все лучше. К тому же, должен нормально работать Tensorflow lite.
Но вот с платами под эмбеддед у Qualcomm плохо. Есть вот такое (но стоит почти 500 баксов). Или вот такое (мало информации, но выглядит прикольно, за 300 баксов камера + корпус + ускоритель = неплохо).

Примерно так же себя ведет Huawei. Есть фреймворк. Не пользовался, и не знаю. Есть какое-то количество плат. Должен работать Tensorflow lite.
Но, мне сложно придумать где такая плата будет иметь смысл на использование.

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

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

P.S.

Про девайсы которые попадают мне в руки/про которые я читаю - иногда пишу у себя в блоге (telegramm, vk). Наверное, через год-два проапдейчу тут что накопится.
Прошлый апдейт делал на ютубе.

Подробнее..

Перевод Рассматриваем отдельные биты на снимке микросхемы как действовать, когда архитектура неизвестна

07.04.2021 18:21:37 | Автор: admin

Введение

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

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

Подготовка

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

Почему мне понадобился именно металлургический микроскоп, а не стереомикроскоп или не составной микроскоп? Потому что у большинства микроскопов подсветка снизу, и свет отражается от двухкоординатной пластины, а с ИС так работать нельзя, поскольку они не двусторонние. Рассматриваемые слои кристалла нужно правильно освещать, чтобы свет как следует отражался в направлении сверху вниз. В металлургических микроскопах используется так называемое наблюдение в отраженном свете (EPI illumination), уникальный тип освещения, также именуемого эпифлуоресцентным. Решение позволяет не только освещать объект ИС/образец; более того, объектив микроскопа собирает свет, отражающийся от поверхности образца.

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

Выбор лабораторного образца

Забавно, что когда я впервые вскрыл CH340Gиз платы Arduino Nano v3, я даже не подозревал, что наткнусь на целую секцию ПЗУ, прежде, чем приступлю к послойному препарированию. Как правило, берясь за проект с ПЗУ, нужно весьма хорошо понимать выбранный образец, в частности, познакомиться с его архитектурой и процессором, почитав даташиты. К счастью, у меня все вышло иначе, почему к счастью расскажу дальше, читайте.

Я взялся за распайку интегральных схем с платы Arduino прежде всего потому, что это была первая разработочная плата, которую я освоил в ходе моих упражнений по части безопасности встраиваемых систем. Следовательно, заключил я, можно будет знатно поностальгировать, бросив пару столь любимых мною чипов в жаркую дымящую серную кислоту. Честно говоря, я очень надеялся, что в ATmega328P, с которой я проводил мои первые эксперименты, найдется какое-нибудь ПЗУ, но, после многократных попыток разобрать ее по слоям при помощи плавиковой кислоты, я нашел только ЭСППЗУ, статическую память с произвольным доступом и флэш-память.

Разобранная на слои Atmega328PРазобранная на слои Atmega328P

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

Примечание:если вы хотите посмотреть эту картинку в высоком разрешении, перейдите по следующей ссылке на личную страницу автора: siliconpr0n.

Сравнение флэш-памяти и ПЗУ. Как они выглядят под микроскопом

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

ПЗУ TI TMS5200NL в сравнении с ПЗУ CBM 65CE02 от SiliconPr0nПЗУ TI TMS5200NL в сравнении с ПЗУ CBM 65CE02 от SiliconPr0n

Это просто два отдельных примера, позволяющих оценить, как может выглядеть транзистор МПЗУ на уровне подложки. В таких транзисторах может применяться либо материал n-типа с высокой концентрацией электронов, допированный атомом фосфора, либо материал p-типа, допированный атомом бора и отличающийся более низкой концентрацией электронов.

С другой стороны, флэш-память устроена сложнее. 1 транзистор != 1 бит. Причина, по которой сканирующий электронный микроскоп требуется для вытягивания бит из памяти типа ЭСППЗУ в том, что во флэш-памяти используется система карманов, в которых можно запасать остаточные электроны от пропускаемого тока, независимо от того, идет ли ток через схему в настоящий момент. Соответственно, такая память считается энергонезависимой. Во флэш-транзисторе четыре основные части: источник, сток и два затвора, которые называются плавающим и управляющим[1][2], а также изолирующий материал, отделяющий три остальные части друг от друга. По форме вся структура напоминает перевернутую букву Т, причем, в нижней части транзистора располагаются источник и сток, а в верхней части затворы, причем, управляющий затвор находится выше плавающего. Затворы заключены в оксидные слои, через которые ток, как правило, не проникает.

Модель транзистора в NAND FlashМодель транзистора в NAND Flash

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

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

Ячейки транзистора в энергонезависимой памяти Ячейки транзистора в энергонезависимой памяти

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

Как считываются биты

Причина, по которой под металлургическим микроскопом различимы отдельные биты (единицы и нули) в том, что биты физически закодированы в кристалле. Как показано в статье Кена ШириффаExtracting ROM Constants, биты программируются в МПЗУ путем изменения паттерна допирования кремния, создания транзисторов или оставления изолирующих участков. В примере Кена, если в строке присутствует транзистор, то можно предположить, что это транзистор в 1 бит. Как правило, строка в МПЗУ NOR (чтение быстрее, запись медленнее) будет содержать два транзистора, уложенных друг на друга, верхний и нижний, как показано на следующем рисунке.

Изображение ПЗУ из TMS320C52Изображение ПЗУ из TMS320C52

В ПЗУ обычно используются мультиплексоры для выбора бит по столбцу и по строке. При использовании 16-битного MUX будет 4 линии выбора, которые можно активировать. Для ПЗУ, которое я собираюсь показать, каждая линия выбора может перевести транзисторы в состояние напряжения HIGH, если будет активирована. Если в заданной позиции (столбец и строка) транзистор отсутствует, то выходная линия окажется в состоянии напряжения LOW.

Примечание:В нашем случае с CH340G МПЗУ будет выглядеть совершенно иначе, нежели на картинках, показанных выше.

Подготовка образца

В случае Arduino Nano, CH340G всегда находится снизу печатной платы. Я вооружился тепловым пистолетом для отпайки и под температурой около 200C обработал пины интересовавшего меня чипа микросхемы. Таким образом припой снимается с узлов и расплавляется, что позволяет безопасно снять чип с платы.

CH340, припаянная к Arduino Nano (чипы не размечены)CH340, припаянная к Arduino Nano (чипы не размечены)

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

Химические реакции при вскрытии

Теперь требуется проявлять исключительную осторожность, поскольку крайне опасно работать с очень едкими кислотами. Возьмем стеклянную пипетку (поскольку стекло не реагирует сHSO) и наберем в нее около 20 мл 98% концентрированной серной кислоты из контейнера и нальем ее в 100-мл химический стакан. Можно бросить наш образец в кислоту, взяв его щипчиками, а потом поставить стакан на нагревательную плитку.

Вскрытие оболочки в вытяжном шкафуВскрытие оболочки в вытяжном шкафу

Рекомендую температуру не менее 170C, а не 150C, как показано выше, поскольку плитка никогда не показывает температуру абсолютно точно. Такой сильный жар нужен, поскольку при комнатной температуре HSOокисляет эпоксидную смолу очень медленно. Нагревая образец, можно ускорить эту реакцию. На крайней справа картинке видно, как жидкость начинает приобретать желтоватый цвет, и это просто отлично. Это означает, что реакция пошла, и эпоксидная смола начинает плавиться.

Если вам интересно, зачем стакан прикрыт стеклянной крышкой объясню, на то есть две причины:

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

2. Потенциально крышка может поспособствовать частичной рециркуляции паров диоксида серы (SO), что, в свою очередь, будет поддерживать высокую концентрацию кислоты. Если концентрация кислоты чрезмерно снизится, то возрастет вероятность коррозии. Я не вполне в этом уверен, поэтому смело пингуйте меня, если я не прав. Знаю, что такой подход хорош при работе с азотной кислотой (HNO), поскольку пары диоксида азота (NO) при рециркуляции могут превращаться обратно вHNOв присутствии воды.

Большой вопрос как долго это должно продолжаться? Зависит от толщины чипа; в данном конкретном случае, согласно даташиту, мы имеем дело с корпусом кристалла SOP-16, толщина которого составляет около 1,50 мм. При приблизительно такой толщине и температуре весь процесс должен занять около часа.

Чип обрабатывается в кислотной банеЧип обрабатывается в кислотной бане

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

Примечание: как только вы снимете крышку со стакана, оттуда сильно попрут парыSO, поэтому убедитесь, что дымовые заслонки как следует закрыты, надежно удалите все эти токсичные пары через вакуумный отсос. Хороший пример, позволяющий оценить, как идет эта реакция повторить подобный опыт с полиэтиленом ((CH)), который обычно входит в состав эпоксидного пластика. По мере того, как серная кислота разогревает эпоксидную смолу, HSOразлагается наSO,CO иHO. Вот химическое уравнение с коэффициентами:6HSO + (CH) 6SO +2CO +8HO. Точка кипения такой кислоты составляет около 337C, именно в таких условиях обычно и получают азеотропную серную кислоту. Если взять серу (S), кислород (O) и воду (HO), а затем сжечь серу для получения диоксида серы (SO);S + O SO, то в дальнейшем диоксид серы можно окислить до триоксида серы (SO), воспользовавшись кислородом и взяв в качестве катализатора оксид ванадия (VO), имеем2SO + O + VO 2SO. Вода служит для гидратации триоксида серы в серную кислоты,SO + HO HSO. Могут использоваться и иные методы, например, с добавлением электролизованных растворов, таких, как раствор сульфата меди (II) (CuSO) или бромводородной кислоты (HBr) для реакции с серой.

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

На данном этапе я перелью кислоту в другой пустой химический стакан и проверю, не видно ли на дне первого стакана кремниевого кристалла. Иногда приходится на самом деле пристально поискать, ведь эти кристаллы совсем маленькие.

Кремниевый кристалл, извлеченный из эпоксидной оболочкиКремниевый кристалл, извлеченный из эпоксидной оболочки

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

Исследуем первый образец

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

CH340G, снятый через объектив с линзой, дающей пятикратное увеличениеCH340G, снятый через объектив с линзой, дающей пятикратное увеличение

Впервые взглянув на этот чип, я не нашел ничего, что напоминало бы ПЗУ; учитывая, что я знаю сейчас, я кажусь себе в тот момент довольно глупым. Еще немного разобравшись, я смог предположить, что в левой части содержится какая-то ЭСППЗУ или ОЗУ, либо это просто какая-то емкость для энергозависимой памяти. Область сверху справа, казалось, отведена под МПЗУ. Итак, разбираемся дальше.

Картинка в более высоком разрешении предлагается здесь: https://siliconpr0n.org/map/wch/ch340/mz_20x/Картинка в более высоком разрешении предлагается здесь: https://siliconpr0n.org/map/wch/ch340/mz_20x/

Присмотревшись к логическим вентилям через объектив с 50-кратным увеличением, постепенно начинаем понимать, что здесь происходит. Первым делом интересно отметить, что на этом ПЗУ 14 мультиплексоров, то есть, 14 групп столбцов. Каждый мультиплексор имеет разрядность 16:1. Таким образом, он позволяет проложить 16 различных путей данных на месте единственного.

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

Также нужно отметить следующие наблюдения. Во-первых, верхние слои в этом чипе представляют собой адресные строки. В вертикальном столбце видим 10 металлических линий, которые в итоге транслируются в 6 адресных разрядов, а 6 металлических линий по горизонтали транслируются в 4 адресных разряда. Суть этого будет объяснена ниже, когда мы займемся послойным препарированием чипа, 4 адресных разряда дадут нам 2 = 16для мультиплексоров, описанных выше. Теперь 6 адресных строк будут использоваться, чтобы выбрать одну из 64 строк в пространстве ПЗУ, что даст 16 бит x 14 столбцов по горизонтали. Вот почему нам требуется суммарно 10 адресных разрядов по вертикали.

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

Реакции послойного препарирования

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

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

Итак, как же определить, какую кислоту использовать? Как правило, в процессе производства полупроводников используется два типа металлов: алюминиевый (Al) сплав 6061 и/или медь (Cu). В чипах, подобным рассматриваемому, обычно встречается Al, но изредка может бытьCu. Дело в том, что у меди ниже сопротивление, и это положительно сказывается на включаемости металлов.

Если работать сCu, то приходится использовать HCl, посколькуHFне вытравливаетCu и, фактически, спровоцирует сильную коррозию, вызываемую атмосферным кислородом. Любой окислительный агент плохо подойдет вам для послойного препарирования Cuс использованиемHF. Помните, чтоHClсама по себе также не будет вытравливатьCu, к ней нужен окислительный агент, например, пероксид водорода (HO), который позволит кислоте съесть всю Cu(восстановительный агент), поднимая pKa (константу диссоциации) кислотного раствора. Значение pkA характеризует силу кислоты. Две эти реакции вместе в соотношении 1:1 позволяют получить хлорноватистую кислоту (HOCl) и воду (HO). Как только в реакцию входит Cuиз кристалла, медь прореагирует сHOCl, и получится хлорид меди (II), который и станет нашим травящим агентом. Таким образом, мы послойно препарируем медную область кристалла при комнатной температуре до получения зеленоватого раствора хлорида меди (CuCl).

HO (aq.) + HCl (aq.) HO + HOCl (aq.)
2HOCl + Cu Cu(HOCl)

Примечание:Будьте крайне осторожны, поскольку при комнатной температуре растворHCl, в отличие от большинства кислот, быстро разогревается и, скорее всего, будет выделять газообразный хлороводород. Это нужно делать[1][2] в вытяжном шкафу.

В нашем случае, при работе с CH340, нам придется протравить лишь очень тонкий слой Al, а диоксида кремния (SiO) там почти нет. Вот почему при послойном препарировании мы будем использовать HF. Влажная HFочень быстро накидывается на алюминиевые связи и контактные площадки при температуре выше 40C, но также можно вытравливать при комнатной температуре и очень низкой концентрации, используя Whink. Этот удалитель ржавчины содержит плавиковую кислоту в концентрации 3%, но не обманывайтесь, поскольку и это может быть более чем фатально. Рекомендую класть чип в тефлоновый химический стакан и держать его там при комнатной температуре с интервалами примерно в 15 минут, в зависимости от того, какой именно чип мы тестируем. Так будет вытравливаться не только Al, но иSiO.

SiO + 4HF SiF + 2HO

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

Послойно препарированная CH340Послойно препарированная CH340

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

Справа вверху: МПЗУ в CH340Справа вверху: МПЗУ в CH340

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

Автоматическое извлечение битов ПЗУ

Знакомьтесь сrompar, интерактивным инструментом для извлечения двоичных данных из изображений МПЗУ при помощи методов компьютерного зрения. На первых порах может быть немного страшновато, так как кривая обучения у него крутая, но после нескольких прогонов все будет уже не так плохо. Первым делом давайте подготовим наше изображение, либо в Gimp, либо в вашем любимом редакторе фотографий. Суть в следующем: нам нужно выделить и расширить область с МПЗУ на изображении, обрезать ее и увеличить ее резкость.

Перед запуском инструмента нужно узнать, с каким объемом ПЗУ нам придется работать. Смотрим на картинку и видим 14 групп столбцов, в каждом по 16 бит в строку, то есть, мы имеем дело с 224 бит в каждой строке. Строки следующая важная тема, которую мы обсудим, по-видимому, тут просматривается 64 строки. Таким образом, размер ПЗУ, с которым нам предстоит работать, составляет 1,7 Кб.

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

python3 rompar.py image1-50x-ROM.jpg 16 1
Changing edit mode to GRID
Changing edit mode to GRID
Image is 11694x4318; 3 channels
process_image time 0.18801593780517578
read_data: computing
grid line redraw time: 6.4373016357421875e-06
grid circle redraw time: 1.1920928955078125e-05
render_image time: 0.22574210166931152

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

Экран Rompar в инфракрасном спектре. Экран Rompar в инфракрасном спектре.

Первый экран графического интерфейса (GUI), который мы рассмотрим, дан в инфракрасном спектре, чтобы по ярким и темным пятнам мы уяснили, чем допированный транзистор отличается от пустого места. Можно скорректировать порог, перейдя в CV Options -> Pixel Threshold. Корректируем, пока у нас не получится нечто подобное:

Увеличенное изображение бит в инфракрасном спектреУвеличенное изображение бит в инфракрасном спектре

Нужно, чтобы программа поняла, что первая строка будет возвращать0000001, а второй01110101. Помните, что более яркие области принято обозначать через1, а более темные через0. При постобработке это правило по необходимости может инвертироваться, если нужно получить на выходе готовый двоичный файл. Теперь давайте перейдем к Display -> Base Image -> Original. Далее мы хотим сделать сетку из столбцов и строк, поэтому щелкнем ctrl+clickпо столбцу 1, перейдем к столбцу 16 и сделаем то же самое. Продолжаем, пока не обработаем все столбцы. В конечном итоге у нас должна получиться примерно такая сетка:

Голубая сетка для столбцов ПЗУГолубая сетка для столбцов ПЗУ

Голубые линии немного бледные, но при увеличении видны гораздо лучше. Теперь давайте подсветим отдельные биты. Нажимаем cmd+click в каждой строке, получаем следующее:

Двоичные разряды обведены кружочкамиДвоичные разряды обведены кружочками

Как видите, тут есть несколько ошибок, но мы можем откорректировать отдельные разряды, перейдя в Edit -> Mode -> Data Edit Mode. Далее щелкнемctrl+clickпо каждому отдельному биту, чтобы превратить голубые кружочки в зеленые или наоборот. Программа трактует зеленые маркеры как 1, а голубые как0. К сожалению, с этим изображением ПЗУ мне пришлось многое редактировать вручную, но, как только результат нас устроит, можно экспортировать его в матрицу двоичных разрядов, перейдя в Data -> Export Data as Text. В итоге у вас получится файл со всеми вашими двоичными данными, такой, как выложен у меня на Github.

Декодируем биты

Теперь, когда у нас готовфайл битовой матрицы, время превратить его в удобочитаемый и дизассемблированный файл прошивки. Этого можно добиться при помощи одного из двух инструментов,zorromилиbitviewer. В принципе, если уже знаем архитектуру, то используем zorrom, утилиту, преобразующую данные из физического представления в логическое и обратно при работе с топологией памяти чипа. Как написано в README от Zorrom, например, фотография загрузочного ПЗУ, преобразованная в двумерный битовый массив (.txt) может быть преобразована в машинно-читаемый двоичный формат. Затем этот .bin можно эмулировать, дизассемблировать и т.д., делать с ним все, что вы бы делали с обычным файлом прошивки . У программы есть отличный API, чтобы писать и настраивать, как именно должно считываться ПЗУ; то есть, здесь указывается топология, порядок следования байтов, требуется или нет инвертирование битов, а также порядки битов на выходе.

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

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

Металлический слой (слева), Слой подложки (справа)Металлический слой (слева), Слой подложки (справа)

Вот что мы можем узнать из этой картинки. В ПЗУ 64 бит по вертикали и 16 x 14 по горизонтали; как я уже говорил, объем этого ПЗУ почти 2k. Выяснил, что для него нужно всего 10 адресных разрядов. В первом столбце транзисторов в вертикальных адресных разрядов за адресным битом 0 идет неадресный бит 0. В следующем столбце переключение происходит каждые два бита, и так далее. Я считаю, что здесь видно 4 бита по горизонтали и 6 битов по вертикали. У каждой строки должна быть дополнительная, чтобы по возможности упростить декодирование мультиплексорами 16:1. Если сделать очень сильное увеличение, то видно, что, благодаря мультиплексору экономится место, в которое можно добавить 14 инверторов, а не прокладывать дополнительную сигнальную строку по горизонтали.

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

Экран, которым открывается Bitviewer Экран, которым открывается Bitviewer

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

Bitview 16-битные столбцыBitview 16-битные столбцы

Далее по списку нам нужно взглянуть на шестнадцатеричный дамп и посмотреть, есть ли там какие-то признаки, что мы правильно задали порядок. Для этого щелкнем по кнопке Byte view (hex). Прокручивая биты, ничего узнаваемого мы не увидим, так как 1) мы не знаем, как должны выглядеть коды операций, поскольку не знаем архитектуру и 2) мы пока не видим ни одной жестко закодированной последовательности символов. Так что мы полагаемся на то, что все-таки увидим здесь некие последовательности символов, по которым сможем судить, правильно ли выполнили декодирование.

Давайте кое-что откорректируем, нажав кнопку Export Options. Как видите, здесь мы можем откорректировать топологию ПЗУ, порядок следования байтов, а также внести еще некоторые изменения, например, инвертировать порядок бит. Большинство опций мы оставим без изменения, в том числе, порядок следования битов, который будет иметь вид:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. Иногда приходится немного поэкспериментировать, чтобы получить правильный порядок на выходе, но я после нескольких попыток обнаружил, что полезно расставить галочки вот здесь:Reverse output bit order иAddress run right-to-left. Теперь можем снова прокрутить шестнадцатеричное представление.

05C0: FE 73 FF DB EF ... .s...t...t.b.|.j
05D0: FE 50 C6 5F D6 ... .P._._.Q...P....
05E0: DD 74 DF F8 ED ... .t...&.m...S.p..
05F0: FF 6D ED 00 FF ... .m...y...|.....>
0600: FF 7A FF 6A ED ... .z.j.<.g.Z.X.s..
0610: D9 74 CE 65 ED ... .t.e...W.p...[..
0620: E6 F0 F5 5B F0 ... ...[.W.W.W.W....

По-прежнему никаких подвижек. Есть еще один вариант, который мы не проверили возможно, наши биты нужно инвертировать/перевернуть. То есть, единицы должны стать нулями и наоборот. К счастью, в bitviewer это сделать можно; щелкаем кнопкуSelect all, и программа подсветит все биты во всех строках и столбцах. Когда они будут подсвечены, нажмите Invert Sel.

Инвертированные биты из BitviewИнвертированные биты из Bitview

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

0770: 10 03 10 09 ... .............U..
0780: 10 53 10 00 ... .S...B...2......
0790: 10 30 10 00 ... .0...-..3...3...
07A0: 33 F3 10 00 ... 3...3...3...3...
07B0: 2F A4 10 00 ... /.....(.....+...
07C0: 10 23 29 08 ... .#)...../.. .'/.
07D0: 10 02 10 03 ... ..../.....+..P.S
07E0: 2F A4 10 72 ... /..r.e/..i.r/..n
07F0: 10 6D 2F A4 ... .i/..t.a+.. .l..

Я этого на первый взгляд не заметил, но теперь же у нас есть полноценный файл прошивки, и мы можем его изучить! Посмотрев на отступы0x0770и0x0780, можно выделить последовательность символов USB 2.0. Что еще? Следующую последовательность заметить не так легко, поскольку между первой и второй большой скачок. Последовательности символовPrintиSerialнаходятся на отступах0x07D00x07F0. Другие интересующие нас подсказки будут в верхней части файла прошивки, например, та или иная таблица переходов и /или таблица векторов исполнения. Из этого сделаем вывод о наличии повторяющихся инструкций или, в нашем случае, байт.

Таблица переходовТаблица переходов

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

Примечание:Возвращаясь к использованию zorrom, теперь мы знаем, какие опции нужны, чтобы получился правильный файл прошивки. Значит, мы можем автоматизировать этот процесс, написав подходящий алгоритм. Воспользовавшись API zorrom, пользователю всего-то останется скормить программе двоичный текстовый файл, а в ответ она выдаст файл прошивки. Здесь можете посмотреть код, который я написал для CH340. Этот инструмент можно запустить вот так:

python3 txt2bin.py --arch ch340t ch340_binary.txt ch340_fw.bin

Также отметим, что при работе сzorrom не приходится заботиться о заполнении разрядов в двоичном текстовом файле, чтобы получилось 16 групп столбцов, нам вполне хватит наших исходных 14. Не забывайте, что иногда можно получить неверную ориентацию, извлекая биты с изображений. Расположение может случайно получиться зеркальным, либо придется определить, как правильно повернуть чип. Если дампировать двоичный текстовый файл, подобный тому, ссылка на который дана выше, то можно воспользоваться инструментом вроде rotate, чтобы просто перевернуть текст в файле вверх тормашками.

Дизассемблирование неизвестного

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

Имея дело с незнакомой архитектурой, необходимо как следует разобраться с изображениями, чтобы понять, как используется ПЗУ. Ситуация примерно такова, как если бы врач выполнил КТ всего тела пациента, и изучил бы томограмму каждого органа в отдельности, чтобы найти подсказки.

Итак, в данном случае мы рассматриваем весь чип, а не только ПЗУ:

Послойно препарированный CH340 с аннотациямиПослойно препарированный CH340 с аннотациями

Аннотации важный аспект обратного проектирования интегральных схем, а в нашем случае придется пояснить очень многое. Прочитав даташит, мы знаем, что этот чип поддерживает возможности USB, поскольку служит мостом от USB к USART. Мы также знаем, что этому чипу требуется внешний источник колебаний для отсчета тактов. Некоторые допущения, которые мы можем сделать относительно чипа: здесь должен быть блок статической памяти с произвольным доступом для энергозависимого хранения данных, область регистров, которые будут использоваться для приема, хранения и переноса данных, а также команды, которые будут использоваться непосредственно ПЗУ при работе с ядром процессора. Поскольку, согласно даташиту, на этом чипе отсутствует ЭСППЗУ, мы отметили на большом участке слева, как данные принимаются и передаются USB-портом.

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

Частично дизассемблированное представление кода ch340Частично дизассемблированное представление кода ch340

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

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

Убираем за собой. Кислотно-основная нейтрализация

Серную кислоту (HSO) можно нейтрализовать при помощи исключительно сильной щелочи, гидроксида натрия (NaOH). Эта кислота реагирует сNaOH, продуктами реакции являются сульфат натрия (NaSO) и вода. Это реакция кислотно-основной нейтрализации. После расстановки коэффициентов в уравнении видим, что нужное нам соотношение между щелочным раствором и кислотой 2:1.

2NaOH (aq) + HSO (aq) 2HO (l) + NaSO (aq)

В нашем случае мы воспользуемся гораздо более высоким соотношением, поскольку, как помните, мы задействовали всего 20 мл HSOдля декапсуляции чипа.NaOH существует в форме кристаллов, напоминающих соль, и всего 15 граммNaOHна 150 мл воды (раствор 10%) хватит для приготовления раствора. NaOH+HOдадут раствор с катионамиNa+и анионами OH-, дополнительно выделится некоторое количество тепла. Уравнение реакции выглядит так:

NaOH +2HO Na+ + OH- + HO (delta H < 0)

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

Проверка уровня pH нейтрализованной серной кислотыПроверка уровня pH нейтрализованной серной кислоты

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

Спасибо, что дочитали! Надеюсь, вам понравилось не меньше, чем мне. Если у вас остались вопросы по этой статье, пишите мне пожалуйста в Instagram:@hackersclubили в Twitter:@ringoware

Доброй охоты :)

Ссылки и благодарности

Ken Shirriffhttp://www.righto.com/2020/05/extracting-rom-constants-from-8087-math.html, за то, что лично уделил время и рассказал мне, как биты считываются из ПЗУ.

John McMasterhttps://siliconpr0n.org/archive/doku.phpза то, что провел со мной многие часы и, в частности, рассказал, как автоматизировать извлечение ПЗУ, как делается декапсуляция и послойное препарирование.

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

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

О нейтрализации https://chem.libretexts.org/Bookshelves/Physical_and_Theoretical_Chemistry_Textbook_Maps/Supplemental_Modules_(Physical_and_Theoretical_Chemistry)/Acids_and_Bases/Acid_Base_Reactions/Neutralization

Получение серной кислоты https://www.cs.mcgill.ca/~rwest/wikispeedia/wpcd/wp/s/Sulfuric_acid.htm

Конструирование сверхбольших интегральных схем (VLSI) https://www.tutorialspoint.com/vlsi_design/vlsi_design_digital_system.htm

Понятие о NAND Flash https://www.simms.co.uk/nand-flash-basics/understanding-nand

Подробнее..

Перевод ARMv9 в чем преимущество?

06.04.2021 18:11:06 | Автор: admin

Что такое масштабируемые векторные расширения (Scalable Vector Extension)? Что они значат для индустрии и пользователей?

Если вы пользуетесь мобильным телефоном, то скорее вы знаете, что такое процессор ARM. Он является сердцем вашего смартфона, а недавно появился в новом поколении Mac. Процессоры ARM также появляются в серверах.

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

В этом году ARM выпустила архитектуру следующего поколения, которая задаст курс отрасли на следующее десятилетие, ARMv9. Это важное событие, которое заслуживает пристального внимания.

Есть много вещей, о которых стоит поговорить, но наиболее важной темой является стандартизация того, что мы называем масштабируемым векторным расширением (Scalable Vector Extension 2, SVE2). Вы наверняка слышали про наборы инструкций SIMD (Single Instruction Multiple Data, одиночный поток инструкций, множественный поток данных), такие как MMX, SSE, AVX, AVX-512 от Intel или Neon от ARM. Однако вы можете не знать, для чего они нужны. Я постараюсь объяснить, что отличает SVE/SVE2 от более старых наборов инструкций SIMD.

Знали ли вы, что Fujitsu сыграла важную роль во всем этом? Мы наблюдаем своего рода возвращение к супервычислениям старой школы, которые встречались в суперкомпьютерах Cray-1 несколько десятилетий назад. Фактически компания Cray не умерла и сейчас занимается созданием суперкомпьютеров на базе ARM: LRZ to Deploy HPEs Cray CS500 System with Arm Fujitsu A64FX Processors.

Суперкомпьютер Cray-1, 1976 год. Высота примерно 1.8м, диаметр 2.1м.

ARMv9 это процессор, который я могу купить в магазине?


Это не то же самое, когда Intel или AMD выпускают новый микропроцессор, который вы можете купить и установить в ПК для повышения производительности. ARMv9 не имеет физического воплощения. Это новая микропроцессорная архитектура, которая обратно совместима с предыдущими поколениями ARM, такими как ARMv8.

Позвольте мне объяснить, как это работает. Множество компаний по всему миру, таких как Qualcomm, Apple, Fujitsu Ampere Computing, Amazon, проектируют собственные микропроцессоры. Это многоступенчатый процесс. Например, ни Apple, ни AMD не производят собственные чипы. Вместо этого они разрабатывают дизайн микросхемы, а затем отправляют его на заводы, например, Global Foundries или TSMC. Там дизайн травят на кремниевых пластинах, которые затем разрезают на отдельные микрочипы и упаковывают.

Компания ARM Ltd. не похожа на Qualcomm или Ampere Computing. Они не производят готовые чертежи, которые можно передавать на завод. Вместо этого они продают чертежи интеллектуальных блоков. Компании вроде Apple могут купить эти блоки и объединить их в итоговый чертеж, который отправится на фабрики.

Система-на-Кристалле ARM Neoverse N1, произведенная TSMC
Но это все очень вариативно. Например, у вас есть чертежи реальных микропроцессорных ядер, таких как Neoverse N1. Другая компания может купить этот дизайн, открыть в инструментах для проектирования, скопировать четыре ядра, нарисовать несколько линий соединения, добавить кэш-памяти, и вот у них получился новый микропроцессор. В реальной жизни этот процесс, конечно, сложнее, но основную мысль, думаю, вы поняли.

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


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

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

Пример инструкций для загрузки чисел из памяти по адресам 14 и 23 в регистры x1 и x2 соответственно, сложения содержимого регистров и записи результата в x3.

load x1, 14       ; x1  memory[14]load x2, 24       ; x2  memory[24]add  x3, x1, x2   ; x3  x1 + x2

Чтобы узнать больше, читайте: How Does a Modern Microprocessor Work?

Архитектура процессора важна для разработчиков инструментов. Программное обеспечение, такое как компиляторы и линковщики, работает с заданной архитектурой. Это значит, что выпуск ARMv9 равнозначен выпуску нового стандарта для разработчиков программного и аппаратного обеспечения. Пока Apple, Ampere и Qualcomm производят оборудование, которое понимает инструкции, указанные в спецификации ARMv9, программное обеспечение, производящее код для этой спецификации, будет работать.

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

Что нового в ARMv9?


Чтобы показать, насколько большой вклад производит выпуск новой архитектуры, мы вспомним про ARMv8. ARMv8 была выпущена восемь лет назад и стала первой 64-битной архитектурой компании ARM Ltd. Микропроцессоры на базе ARMv7 были 32-битными. Это означало, что регистры внутри ЦП могли работать только с числами, которые содержали не более 32 двоичных цифр.

Появление ARMv8 было важным событием для Apple, так как это позволило им неожиданно рано для индустрии перейти на 64-битную архитектуру. Это дало iPhone и iPad фору. Несомненно, Apple хотела заниматься высокопроизводительными архитектурами как можно быстрее, поэтому они стремились создать процессоры ARM для настольных компьютеров.

Если упростить, то можно сказать, что ARMv8 это архитектура для настольных компьютеров. ARM сделала шаг от телефонов в мир настольных компьютеров и серверов.

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

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

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

Именно это приходит в ARMv9 благодаря добавлению целого ряда новых инструкций, которые называются SVE2, или Scalable Vector Extension 2. Другими словами, процессоры ARM становятся все более похожими на старые суперкомпьютеры.

Для дополнительного чтения: ARM, x86 and RISC-V Microprocessors Compared.

Суперкомпьютер в кармане


Почему ARM сегодня выбирает архитектуру как у суперкомпьютеров? Что происходит?

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

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

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

Читать далее: RISC-V Vector Instructions vs ARM and x86 SIMD.

ARM и высокопроизводительные вычисления


Следующим шагом после настольных компьютеров и серверов, естественно, являются высокопроизводительные вычисления (High Performance Computing, HPC). Настоящие суперкомпьютеры. В далеком прошлом в этом сегменте доминировали специальные аппаратные решения, такие как ARM, а затем появились крупные центры обработки данных с серийным оборудованием x86 и мощными видеокартами.

Intel и AMD хорошо зарабатывают на этом рынке, поскольку машинное обучение и анализ данных стали гораздо более распространенными и важными. Естественно, ARM хочет получить кусок этого рынка. Первым серьезным шагом стал микропроцессор Fujitsu A64FX на базе ARM.

У Fujitsu есть опыт построения Cray-подобных компьютеров с векторной обработкой. Они объединились с ARM, чтобы расширить процессоры ARM набором инструкций Scalable Vector Extension. Таким образом, это не изобретение ARM, а адаптация уже существующего набора инструкций для высокопроизводительных вычислений к процессорам ARM.

Эта комбинация, используемая для A64FX, стала основной для создания самого мощного суперкомпьютера в мире: Japans Fugaku gains title as worlds fastest supercomputer.

Процессор A64FX на архитектуре ARMv8, разработанный Fujitsu для высокопроизводительных вычислений. Это первый процессор с Scalable Vector Extension.

Но следует помнить об одном важном факте: это было расширением и не является частью спецификации ARMv8. То есть ваши iPhone или iPad с процессором на ARMv8 не может запускать код, созданный для суперкомпьютера Fugaku, потому что у них нет поддержки инструкций SVE.

Для сравнения, в ARMv9 такие инструкции стали частью стандарта. Именно поэтому я говорю, что ARM кладут суперкомпьютер в карман.

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

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

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


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

Что такое вектор?


Вектор это просто причудливый математический термин для списка чисел. Например:

[3, 5, 9]

Удобно работать со списками чисел, обращаясь к ним по имени или иному идентификатору. Например, два вектора с именами v1 и v2.

v1  [3, 2, 1]      v2  [1, 2, 2]

И вот способ выразить, что я складываю векторы и сохраняю результат в v3.

v3  v1 + v2  ; v3 должен быть [4, 4, 3]

Почему я использую стрелки ()? Это полезно при объяснении того, что происходит внутри компьютера, потому что обычно мы храним числа в некоторой области памяти. Эта память может быть пронумерована или названа. Внутри микропроцессора есть небольшая область памяти, которая разделена на фрагменты, называемые регистрами. В микропроцессорах ARM эти регистры имеют имена, такие как x0, x1, , x31 или v0, v1, , v31.

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


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

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

x1  3        ; записать 3 в x1x2  4        ; записать 4 в x2x2  x1 + x2  ; сложение x1 и x2 дает 7

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

Представьте, что столбцы Amount и Unit Cost это векторы. Столбец Total Cost это результат поэлементного математического вычисления двух векторов.

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

Хотя современные компьютеры обычно не работают с матрицами, вычисления на матрицах можно ускорить с помощью векторов. Вот почему векторные инструкции важны для ускорения машинного обучения, распознавания изображений и речи. Математика векторов и матриц называется линейной алгеброй. У меня есть вступление для любопытных: The Core Idea of Linear Algebra.

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

SIMD против векторных инструкций


Технически ARM Neon и SVE являются формой SIMD (Single Instruction Multiple Data). Под этими инструкциями мы подразумеваем такие вещи, как сложение, вычитание и умножение. Таким образом, основная идея SIMD заключается в том, что вы отправляете одну инструкцию для процессора, а он выполняет одну и ту же операцию с несколькими значениями одновременно.

Один поток инструкций, один поток данных (SISD) и один поток инструкций множественные потоки данных (SIMD)
Подобные наборы инструкций существуют уже некоторое время. Вы, наверное, слышали про наборы инструкций MMX, SSE, а теперь и AVX на микропроцессорах x86 Intel и AMD. Они были созданы, чтобы выполнять обработку мультимедиа, такую как кодирование и декодирование видео. Инструкции ARM Neon наиболее похожи на них. Эти инструкции выглядят так:

LDR v0, [x4]    ; v0  memory[x4]LDR v1, [x6]    ; v1  memory[x6]ADD v4.16B, v0.16B, v1.16B STR v4, [x8]    ; v4  memory[x8]

В этом примере скалярные регистры x4, x6 и x8 содержат адреса в памяти, по которым располагаются числа в памяти.

Инструкция LDR загружает числа из памяти в регистр. Инструкция STR делает обратное: записывает числа из регистра в память.

Инструкция ADD выглядит странно. Почему там есть суффикс .16B после имени каждого регистра?

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


Векторные регистры, такие как v0 и v1, имеют размер 128 бит. Что это значит? По сути, это максимальное количество двоичных разрядов, которые может содержать векторный регистр.

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

128/8 = 16

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

ADD v4.2D, v0.2D, v1.2D

В терминах микропроцессора мы называем 32-битное число машинным словом (word), а 64-битное число двойным машинным словом (double-word). Таким образом, .2D означает два двойных слова, а .4S четыре одинарных.

128/32 = 4

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

Количество элементов, на которые мы разбиваем регистр во время вычисления, определяет, сколько дорожек будет настроено для вычислений. Подумайте о дороге, где числа, словно машины, идут параллельно по нескольким полосам. Ниже приведен пример этого. У нас есть регистры v1 и v2, которые используют для вычислений, а результат сохраняется в регистр v3. Таким образом, мы разбиваем на два элемента (.2D), и у нас есть две дорожки для вычислений. Каждая дорожка получает одно арифметико-логическое устройство (АЛУ).

Сколько АЛУ используется в SIMD-вычислениях. У нас есть две дорожки вычислений. Каждая дорожка обслуживается одним АЛУ.

Если вам не нравятся мои иллюстрации, то вот иллюстрация ARM, которая демонстрирует задумку на четырех дорожках.

Сложение регистров v8 и v9 с четырьмя дорожками

Проблемы с инструкциями SIMD


Инструкции SIMD, подобные тем, которые вы видите ниже, могут выполняться с разными аргументами.

ADD v4.2D, v0.2D, v1.2D ADD v4.4S, v0.4S, v1.4S

Однако они кодируются как отдельные инструкции. Это быстро выходит из-под контроля, что хорошо видно на примере x86. Intel начала с MMX, затем появились SSE, SSE2, AVX, AVX2 и наконец AVX-512. MMX, например, имел 64-битные векторные регистры, поэтому вы могли выполнять параллельную работу над двумя 32-битными регистрами или восемью 8-битными.

Со временем, когда транзисторов становилось все больше, было принято решение сделать новые векторные регистры большего размера. Например, SSE2 имеет 128-битные регистры. В конце концов этого оказалось недостаточно, и мы получили AVX, а AVX2 предоставил нам 256-битные регистры. Теперь, наконец, AVX-512 представил нам невероятные 512-битные регистры. Итак, теперь мы можем вычислять шестьдесят четыре 8-битных значения цвета параллельно.

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

  1. Каждого регистра длиной 64, 128, 256 или 512 бит.
  2. Для каждого из регистров нужен отдельный вариант с нужным числом дорожек.

Таким образом, добавление инструкций SIMD привело к резкому увеличению числа инструкций, особенно для x86. И конечно же, не каждый процессор поддерживает эти инструкции. Только новые будут поддерживать AVX-512.

Почему ARM не следует стратегии AMD и Intel


Эта стратегия не работает для ARM. У Intel и AMD простая миссия. Они просто пытаются сделать самые мощные узкоспециализированные процессоры, которые они могут выпустить в любое время в магазин.

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

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

SVE и SVE2 позволяют ARM задавать разную физическую длину векторных регистров для каждого типа микросхем. В SVE/SVE2 векторный регистр должен иметь длину от 128 до 2048 бит. Для смартфоном с низким энергопотреблением они могут продавать дизайны с 128-битными векторными регистрами, а для суперкомпьютеров с 2048-битными.

Красота SVE в том, что один код будет работать как на суперкомпьютере, так и на дешевом телефоне. Это невозможно с инструкциями SIMD x86. Хотя я не являюсь экспертом по асемблерному коду ARM, судя по тому, как выглядит код при использовании Neon и SVE, мне кажется, что последний будет более эффективным даже при равной длине векторного регистра.

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

SVE в действии


Если мы посмотрим на инструкции Neon, то они кодируют количество дорожек так же, как указано в предыдущем примере.

ADD v4.2D, v0.2D, v1.2D ADD v4.4S, v0.4S, v1.4S

Но если мы переведем это в инструкции SVE, то мы увидим что-то подобное.

ADD v4.D, v0.D, v1.D ADD v4.S, v0.S, v1.S

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

Предикация


Вместо этого в SVE используется то, что мы называем предикацией. Есть набор специальных регистров p0, p1, , p15, которые работают как маски для вычислительных дорожек. Их можно использовать для включения или выключения дорожек. Таким образом, использовавшаяся ранее инструкция сложения выглядела бы так:

ADD v4.D, p0/M, v0.D, v1.D

Теперь у нас есть дополнительный аргумент p0/M, который позволяет процессору сохранять результаты сложения v0 и v1 в v4 только когда соответствующий элемент p0 равен логической единице (истина). В псевдокоде это выглядит следующим образом.

while i < N   if p0[i] == 1      v4[i] = v0[i] + v1[i]   else      v4[i] = v0[i]   end   i += 1end

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

LD1D z1.D, p0/Z, [x1, x3, LSL #3]

Здесь происходит несколько процессов, поэтому необходимо некоторое объяснение. [x1, x3, LSL #3] это типичный для ARM способ указания адреса памяти. Это можно прочесть так:

base_address = x1 + x3*2^3z1  memory[base_address]

Но поскольку мы используем предикат, то это не совсем правильно. Нам нужно отфильтровать то, что загружается. Более точно это выглядит так:

base = x1 + x3*2^3while i < N   if p0[i] == 1      v1[i] = memory[base + i]   else      v1[i] = 0   end   i += 1end

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

julia> mask = [false, true, true, false];julia> A = [2, 4, 8, 10];julia> B = [1, 3, 7, 9];julia> A[mask]2-element Vector{Int64}: 4 8 julia> B[[true, false, false, true]]2-element Vector{Int64}: 1 9 julia> A[mask] + B[mask]2-element Vector{Int64}:  7 15

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

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

Как работать с вектором неизвестной длины


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

Это помогает нам значительно упростить код векторной обработки и избежать необходимости знать точную длину вектора. Допустим, нам нужно обработать шесть 32-битных значений. То есть N = 6, и это единственное, что вы знаете во время компиляции. Инструкции Neon будут выглядеть так:

ADD v4.4S, v0.4S, v1.4S  ; v4  v0 + v1

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

С SVE этого делать не придется. Вместо этого нам приходит на помощь волшебная инструкция WHILELT. Вот пример:

WHILELT p3.s, x1, x4

Но что она делает? Я объясню на примере псевдокода. Допустим, есть M дорожек для векторной обработки. Вы не знаете значение M до начала выполнения, но, допустим, что M = 4. Тем не менее, мы знаем количество элементов, которые хотим обработать, то есть N = x4 = 6. Инструкция WHILELT (WHILE Less Than, пока меньше чем) работает так:

i = 0while i < M   if x1 < x4      p3[i] = 1   else      p3[i] = 0  end  i += 1  x1 += 1end

Таким образом, если мы представим выполнение этих векторных операций в цикле, то на первой итерации p3 будет выглядеть так:

x1 = 0p3 = [1, 1, 1, 1]

На второй итерации в какой-то момент x1 станет больше, чем x4, поэтому получаем следующее:

p3 = [1, 1, 0, 0]

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

Так работает вся обработка SIMD. Вы обрабатываете партии чисел. Так, например, если вам нужно обработать 20 элементов, а ваш векторный регистр вмещает 4 дорожки, то вы можете сделать всю работу за 5 итераций (54 = 20). Но что если у вас 22 элемента?

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

Операции загрузки и сохранения


Другой важной особенностью SVE-инструкций является поддержка того, что мы называем операциями сборки-разборки (gather-scatter). Это означает, что вы можете заполнить векторный регистр данными, которые распределены по нескольким ячейкам памяти, всего за одну операцию. Точно так же вы можете записывать результаты из вектора в несколько местоположений. Принцип аналогичен тому, что мы обсуждали с предикатами.

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

struct Sale {    int unit_price;    int sold_units;    int tax;}Sale sales[1000];

Допустим, у нас тысячи таких объектов. Обычно мы хотим проводить расчеты между связанными полями. Например, умножить цену unit_price на количество проданных единиц sold_units. Это значит, что вы хотите, чтобы в одном векторном регистра были цены за единицу, а в другом количество проданных единиц. Однако значения этих полей не лежат в памяти последовательно. Они чередуются.

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

Что предлагает SVE2?


Здесь, вы, естественно, задаетесь вопросом, а что добавляет SVE2, чего еще нет в SVE?

Расширение SVE было необязательным для архитектуры ARMv8. В то время SVE2 это часть стандарта. Это означает, что Neon и SVE получили еще более тесную интеграцию. В SVE добавлены инструкции, которые делают SVE2 заменой Neon. Теперь вы можете делать все, в чем был хорош Neon с помощью SVE2.

Помните, SVE создавался только для суперкомпьютерных вещей, а для мультимедийных рабочих нагрузок, для которых создавался Neon? Мультимедийным материалам обычно не нужны длинные регистры. Рассмотрим цветной пиксель, закодированный как RGBA. Это четыре 8-битных значения, которые помещаются в 32-битный регистр.


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

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

Это дает ARM отличный набор инструкций, который может работать как с наиболее энергоэффективными, так и с наиболее производительными микросхемами. При этом пользователям необходимо выполнить компиляцию только один раз. Помимо этого, получается более простой код с точки зрения компилятора. А ARM не нужно участвовать в этой гонке вооружений с инструкциями SIMD, в которой участвуют Intel и AMD.

Им не нужно каждые несколько лет добавлять множество новых SIMD-инструкций. SVE2 дает фундамент с большой стабильностью и хорошим пространством для роста.

Последствия для пользователей, разработчиков и отрасли


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

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

ARM также будет все больше вытеснять Intel и AMD из прибыльного бизнеса в центрах обработки данных. Я не являюсь экспертом по дизайну микросхем, но, видя, как RISC-V использует этот набор инструкций и понимает все преимущества, мне кажется, что Intel и AMD совершили ошибку, когда отказались от ARM. Их стратегия с SIMD не кажется мне разумной. Подозреваю, что эта ошибка будет их преследовать.

Подробнее..

Модульный открытый ноутбук для параноиков начали рассылать заказчикам

13.04.2021 00:19:36 | Автор: admin

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

Тогда, в мае прошлого года, была запущена краудфандинговая кампания. Она собрала необходимые для производства устройства средства, и сейчас авторы объявили о старте отправки ноутбука заказчикам. Первые 25 устройств отгружены покупателям из ЕС, своей очереди ждут еще 450 ноутбуков их отправят в ближайшее время. Что собой представляет это чудо техники?

Характеристики



  • Процессор: 4-ядерный ARM Cortex-A53 (1.5 GHz) NXP/Freescale i.MX8MQ. Как процессор, так и память съемные, модуль выполнен в форм-факторе SO-DIMM.
  • ОЗУ: 4 GB LPDDR4.
  • Видеочип: Vivante GC7000Lite GPU. Поддержка OpenGL 2.1, ES 2.0, драйвер из основной ветки ядра Linux.
  • Дисплей: Full HD (1920x1080 pixels) 12.5" IPS eDP, который подключается через интерфейс MIPI-DSI. Есть еще совсем миниатюрный 128x32px OLED экран для вывода системных сообщений.
  • Порты: 3x USB 3.0 (Type-A), Gigabit Ethernet port. miniPCIe Wi-Fi.
  • Накопитель: Internal M.2 M-key socket for NVMe SSD, есть слот для карт памяти SD.
  • PCIe: 1x miniPCIe socket (PCIe 2.0 1x), 1x M.2/NGFF socket M-key (PCIe 2.0 1x)
  • Клавиатура: механическая клавиатура с Kailh Choc Brown Switches и подсветкой.
  • Трекбол (опционально): USB-трекбол с 5 механическими переключателями.
  • Трекпад: ну, он есть.
  • Корпус: модульный корпус из анодированного алюминия. Нижняя крышка выполнена с использованием полупрозрачного пластика.
  • Аудио: Wolfson WM8960 ADC/DAC.
  • Камера: встроенной нет (для параноиков же, зато есть MIPI-CSI коннектор.
  • Батарея: съемные ячейки 18650, 12 Ah/3.2 V. Их хватает примерно на 5 часов работы.
  • Системный контроллер: NXP LPC11U24 ARM Cortex-M0.
  • ОС: Debian GNU/Linux 11, Linux 5.x.
  • Размеры: 29 x 20.5 x 4 см.
  • Вес: ~1.9 кг.

А теперь смакуем подробности



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


Материнская плата. Ее основное достоинство возможность подключения системы на модуле (SoM). Как и говорилось выше, модуль с процессором, видеочипом и ЗУ вставляется в материнку как SO-DIMM. Еще один положительный момент для подключения дисплея не нужен HDMI/DisplayPort. Вместо этого используется MIPI DSI --> eDP конвертер.


SoM. Здесь разработчики не изобретали велосипед, а использовали систему на модуле от Boundary Devices. Кроме уже озвученных элементов, SoM включает USB и PCIe контроллеры. Если есть возможность спроектировать собственный модуль без проблем.


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


Дисплей. Ничего необычного, это 12.5" IPS eDP (embedded DisplayPort) панель с FullHD-разрешением.


Трекбол и тачпад. Выше было указано, что трекбол опциональное решение. Можно установить либо его, либо тачпад.

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

Все идеально?


Не совсем. С ноутбуком все хорошо, кроме одного производительности. Процессор, установленный в системе, несколько быстрее, чем Allwinner A64, на котором основана система ноутбука PineBook Linux стоимостью в $100. Но вот уже Rockchip RK3399 выигрывает в производительности. Этот чип стоит в Pinebook Pro за $220. Ну и, конечно, процессор модульного ноутбука безбожно отстает от любых других чипов, установленных в более-менее современных ноутбуках с Windows или Linux OS.

Еще один недостаток стоимость девайса. MNT Reform DIY Kit, набор для самостоятельной сборки ноутбука, стоит $999. Максимальная конфигурация с 1 TB NVMe SSD, беспроводным модулем mPCIe Wi-Fi, мануалом и прочими плюшками стоит $1500.

Дороговато, конечно, но кампания на СrowdSupply собрала $388 291 при запланированных $115 000.

По словам разработчиков, MNT Reform представляет собой:
  • Почти полностью открытый ноутбук, который можно модифицировать как душе угодно, заменять сломанные модули или менять устаревшие компоненты на более производительные/функциональные.
  • Систему с защитой персональных данных. В ноутбуке нет камер, микрофонов, WiFi можно отключать. При необходимости персональные данные можно хранить на SD-карте. Есть и шифрование жесткого диска с LUKS.
  • Печатную машинку, которую можно использовать для офисных целей. Любые офисные программы, браузер и т.п. работают без проблем.
  • Промышленную систему. Благодаря чипсету ноутбук можно использовать в качестве промышленной рабочей лошадки.
  • Платформу для разработки ARM 64-bit ПО. Ну, здесь и так все понятно.
  • Обучающую систему. MNT Reform можно использовать в качестве базы для обучения принципам работы железа, ПО, защиты информации и т.п. Подходит и детям, и взрослым.

Официальная страница ноутбука вот здесь. Кроме базовой информации, ресурс приводит таблицу со сравнением MNT Reform с другими системами.

Подробнее..

MirkoPC док-станция для Raspberry Pi 4, превращающая малинку в полноценный ПК

20.04.2021 14:21:11 | Автор: admin

Raspberry Pi 4 Model B отличный одноплатник, который можно использовать для решения обширного спектра задач. Все бы хорошо, но у платы, в силу ее небольшого размера, ограниченное число портов и коннекторов. Потенциально плата поддерживает гораздо большее их количество, чем реализовали разработчики.

Вот бы добавить HDMI, несколько USB, Ethernet! И это уже можно сделать, причем почти без усилий. Разработчик из Польши по имени Mirek предложил собственное решение своеобразную док-станцию для малинки, которая превращает ее в полноценный Linux-ПК. На этой плате есть несколько выходов для дисплеев, USB-порты, разъем для подключения PCIe NVMe и кое-что еще.

Стоит напомнить, что сама малинка четвертой модели базируется на четырехъядерном ARM Cortex-A72. Есть Wi-Fi 6 и Bluetooth 5.0. Плата MirkoPC добавляет к этому:

  • 1 x M.2 2242/2280 M-key сокет (PCIe x1 Gen 2);
  • 1 x microSD слот;
  • 1 x Gigabit Ethernet порт;
  • 2 x HDMI-порта (1 обычный, 1 micro);
  • 4 x USB 2.0;
  • 1 x 28-pin GPIO header;
  • 2 x MIPI CSI-2 интерфейса камеры;
  • 2 x MIPI DSI интерфейсы дисплея;
  • 1 x 3.5mm;
  • 1 x USB-C порт питания (5V/3A).

Кроме того, у платы есть DAC-конвертер (вплоть до 32-bit/384 kHz) и усилитель наушников, плюс модуль часов реального времени с батарейкой, а также инфракрасный порт для использования в качестве пульта управления. Еще разъем для подключения кулера и светодиоды.

Несмотря на то, что малинка не самая мощная плата в своем классе (она уступает, например, Intel NUC), одноплатник оснащен флагманским для Raspberry Pi чипом Broadcom BCM2711. При необходимости можно приобрести Compute Modules с 8 ГБ ОЗУ LPDDR4-3200 и 32 ГБ внутренней памяти.

Новая разработка дает возможность установить microSD или даже NVMe SSD любого объема.


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

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

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


Здесь тоже куча портов и коннекторов:

  • Gigabit Ethernet;
  • M.2 2242 сокет;
  • HDMI-порт;
  • 3 x USB Type-A;
  • 1 x USB Type-C OTG;
  • microSD слот;
  • 40-pin Raspberry Pi GPIO header;
  • коннекторы для экранов и камеры;
  • 2 x power inputs (2.1 мм и 3.5 мм).

Стоимость TOFU около $110. Скорее всего, и плата от польского разработчика будет стоить примерно столько же.

Подробнее..

Размер имеет значение Intel 440MX Communications Appliance Reference Design

29.03.2021 12:16:08 | Автор: admin

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

Куда компактнее решения сегмента SOHO для малого или домашнего офиса, часто это небольшие кубики, исполняющие несложные, но важные роли хранилище данных, почтовый или веб-сервер, фаерволл или сервер VPN-доступа и многие другие. Компактное серверное решение есть даже у Apple сервер на базе Mac Mini. Серверы-малыши начали входить в обиход на стыке нулевых и десятых, с появлением экономичных процессоров Intel Atom.

Но один из первых мини-серверов появился почти на 10 лет раньше, в 2000 году. Проект Соленая река (Salt River), получивший замысловатое официальное имя Intel 440MX Communications Appliance Reference Design изначально не был рассчитан на массовое производство, он должен был лишь продемонстрировать возможность создания полноценных, но компактных и экономичных серверов для выполнения задач, не требующих высокой производительности.

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

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

Волшебная коробочка


Внешне, девайс больше похож на что-то из сетевого оборудования. Небольшой металлический корпус серебристого цвета с возможностью установки в стойку вот только не привычную 19-дюймовую, а компактную телекоммуникационную 10-дюймовую (с использованием полки монтажных креплений или отверстий для них нет). Высота тоже стандартная 1U. Отличный вариант для небольших филиалов можно разместить в одном шкафчике коммутаторы, маршрутизатор и пару-тройку таких машинок.


Передняя панель оформлена в фирменных цветах Intel голубой пластик и белые надписи. Слева двухстрочный экран и пять кнопок управления, справа линейка светодиодных индикаторов, шесть из которых стандартные индикаторы питания, активности диска и состояния сетевых интерфейсов, а восемь управляемые программно. Для работы с дисплеем, кнопками и индикаторами используется интерфейс I2C. Задняя панель еще утилитарнее: последовательный порт, два сетевых интерфейса, два USB порта и разъем питания. Видеовыход не предусмотрен.


Внутри все очень просто небольшая материнская плата, обычный IDE 3.5-дюймовый жесткий диск (в нашем случае Seagate U-series на 10 ГБайт) и 40-мм вентилятор для отвода нагретого воздуха. Плата, сердце и разум сервера, заслуживает особого внимания. Она очень миниатюрна всего 4 на 7 дюйма (примерно 10х18 см). Компоновка довольно плотная в центре чипсет, одночиповое решение Intel 440MX-100 (фактически 440BX без поддержки AGP и PIIX4E в одном корпусе).

Под скромным пассивным радиатором расположен процессор. Использован чип Intel Embedded Celeron ULV с тактовой частотой 300 МГц и 128 КБайт кэша второго уровня, выделяющий при работе всего лишь 5.7 Вт тепла. В отличие от своих собратьев, он использует системную шину с частотой 100 МГц. Процессор имеет маркировку QDB2, соответствующую квалификационным образцам, а не серийной продукции (серийный процессор имел бы обозначение SL5LG).


Рядом с процессором расположен SO-DIMM разъем для памяти SDRAM, стандартно устанавливалось 32 МБайт, официально поддерживается до 128 МБайт памяти (именно такой объем установлен на данный момент). Также на плате расположены два чипа сетевых контроллеров Intel 82559ER и чип MultiIO (на обратной стороне платы). Для микросхемы BIOS предусмотрена довольно необычная, но удобная кроватка.


Из интересного: микросхему BIOS можно было легко поменять, сдвинув фиксатор и раздвинув две половинки элемента крепления. Очень удобно для отладки прошивки! В нашем случае микросхема BIOS имела обозначение E28F002BC-T80.


Из разъемов присутствуют пара IDE обычный и ноутбучный, внутренний COM-порт, 6-контактный I2C порт, разъемы питания жесткого диска и вентилятора. С обратной стороны интерфейс для подключения мезонинных плат PMC (PCI Mezzanine Board), достаточной популярного промышленного формата. В целом плата конструктивно очень близка именно к промышленным решениям.

Игры разума


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

В случае с нашим героем, это отразилось на поддержке операционных систем Windows Server (на тот момент актуальными были NT 4.0 и 2000) в списке совместимости отсутствует, зато есть серьезные альтернативы FreeBSD, QNX и Linux, а также разнообразные специализированные решения. В большинстве известных примеров, сервер работает под FreeBSD или QNX.

К сожалению, изначальная инсталляция FreeBSD была повреждена, поэтому был установлен Linux, а точнее дистрибутив для построения сетевых устройств OpenWRT. Пока не удалось разобрать с работой I2C устройств, а в остальном устройство готово к полноценной работе (конечно, с учетом производительности сетевых интерфейсов).

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

По меркам 2000 года, производительность системы не поражала воображение, но для обеспечения потребностей небольшого офиса была вполне достаточна. А для работы в качестве маршрутизатора (тут можно было даже добавить 4-портовую мезонинную сетевую плату), пожалуй даже была избыточна в то время большинство соединений не использовало шифрование и не создавало такой нагрузки, как сейчас. О хорошей производительности можно судить даже по скорости загрузки довольно современная версия OpenWRT загружается менее чем за минуту.

Самые производительные серверы на PC платформе тогда имели 8 процессоров с частотой 700 МГц (Intel Xeon 700/2M), но даже для мощных файловых серверов нормой было иметь на борту пару Pentium III на 500-800 МГц. Разница значительная, но не огромная. Объем памяти тоже не был критически мал. Основной проблемой могла стать дисковая подсистема всего один диск и никаких средств обеспечения отказоустойчивости. Но и требования к доступности такой системы не в пример ниже, чем у сервера масштаба предприятия.

QNX


Рабочий стол QNX 6 (Neutrino) после установки. Источник
В свое время, эта система наделала немало шума ее демо-версия помещалась на одной дискете, при этом предоставляла пользователю полноценный рабочий стол, доступ в интернет и современный на момент выхода браузер. Многие неискушенные пользователи возлагали на нее большие надежды, как на будущую альтернативу на рынке настольных операционных систем. Но система изначально предназначалась для других целей и красивое демо лишь демонстрировало ее гибкость.

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

К сожалению, планы в полной мере не сбылись серверный рынок активно стала занимать быстро развивающаяся ОС Linux. Именно ради проектов на базе QNX мини-серверы поставлялись учебным заведениям. В России, например, известны работы Института электронной техники и машиностроения СГТУ.

Изначальный рынок промышленных решений QNX сохранила и успешно развивается. Последняя мажорная версия (7.0) датирована 2017 годом, новые версии находятся в разработке. Система портирована на множество архитектур, в том числе и российский Эльбрус.

Она активно применяется в бортовых транспортных системах, от автомобилей до авиалайнеров и больших морских судов, в медицинском оборудовании, в управлении производственными процессами, радиолокационных системах и даже в космических устройствах. Кастомизированная версия QNX легла в основу систем Cisco IOS XR, управляющей самыми производительными коммутаторами компании Cisco CRS-1.

Путь длиной в два года


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

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

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

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

Заключение


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

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

Подробнее..

Китайская компания Loongson Technology разработала с нуля новую процессорную архитектуру

18.04.2021 20:08:22 | Автор: admin

О компании Loongson Technology регулярно пишут на Хабре. Ее процессоры на архитектуре MIPS изначально использовались китайскими же производителями нетбуков и телеприставок. Затем разработки компании применялись при создании гораздо более производительных систем. Например суперкомпьютера Dawning 6000 мощностью более 1000 терафлопс и других подобных систем.

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

LoongArch что это и зачем?


Ранее основанные на архитектуре MIPS процессоры позволяли сохранять совместимость с программным обеспечением, разработанным для MIPS64, включая ПО для суперкомпьютеров. Это было одним из преимуществ чипов от Loongson Technology.

Зачем компании новая архитектура? Она решила стать независимой после того, как MIPS Technologies перешла на RISC-V, о чем мы, кстати, писали. Ранее MIPS Technologies занималась развитием архитектуры и лицензированием интеллектуальной собственности, которая связана с процессорами MIPS. Сами чипы компания не производила. Но вот перерожденная организация займется выпуском процессоров, но уже на базе архитектуры RISC-V.

Новую архитектуру уже оценили независимые эксперты, выяснив, что у нее нет ничего общего с ALPHA, ARM, MIPS, POWER, RISC-V или х86. Компания разработала собственный формат инструкций, их кодирование, режимы адресации и т.п. LoongArch содержит около 2000 проприетарных инструкций. По словам разработчиков, они удалили устаревшие инструкции для обеспечения пониженного энергопотребления и более эффективной работы. В дополнение к базовому набору инструкций компания добавила инструкции расширения двоичного преобразования (LBT), инструкции расширения векторной обработки (LSX), инструкции расширения расширенной векторной обработки (LASX) и инструкции расширения виртуализации (LVZ), сообщает PC Watch.


И сама разработка не является просто очередной теоретической разработкой, практическую реализацию которой откладывают затем долгий ящик. Нет, на ее основе уже созданы и работают 12-нм процессоры Loongson 3A5000 и 3C5000. У первого 4 ядра на частоте 2,5 ГГц, он предназначен для обычных десктопных ПК. Второй получил 16 ядер, это серверный процессор. На плате сервера можно установить вплоть до 16 таких чипов.

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

Что все это значит для Китая?


Как и говорилось выше возможность развивать производство собственных чипов, как десктопных, так и процессорных, без зависимости от иностранных компаний. Еще в прошлом году эта компания выпустила MIPS-процессор 3A4000/3B4000. Тактовая частота 2.0 GHZ, 4 ядра, в синтетическом тесте он набрал 128 гигафлопс, производственная технология 28 нм.


Тогда говорилось, что процессоры полностью отечественные, а не заказанные у сторонних аутсорсеров. Кстати, именно так поступает Huawei Hisilicon, она заказывает свои процессоры Kirin и Kunpeng у партнеров.

На базе нового чипа создавались ПК, которые уже поступили в продажу. Они работают на основе дистрибутива Loongnix или любой другой MIPS-совместимой системе.

В начале этого года стало также известно и о новом процессоре еще одной китайской компании Zhaoxin Semiconductor. Она является объединенным предприятием Via Technologies и правительства Китая. В прошлом году компания выпустила процессоры KaiXian KX-6780A и KX-U6880A. Первый из этих процессоров получил восемь ядер собственной разработки компании. Процессор поддерживал инструкции SSE 4.2 и AVX, виртуализации и шифрования. Частота работы около 2,7 ГГц, выполнен чип по 16-нм технологии.

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

Кроме инвестирования средств в инфраструктуру, немало тратит страна и на охоту за головами, то есть на поиск и привлечение талантливых специалистов, способных разработать чипы. В настоящее время за квалифицированными инженерами охотятся две китайские компании: Quanxin Integrated Circuit Manufacturing (QXIC) и Wuhan Hongxin Semiconductor Manufacturing Co (HSMC). Им уже удалось переманить больше сотни сотрудников из TSMC, предложив тем зарплату в два раза выше.

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

Подробнее..

Конгрессмены попросили президента США запретить продажу ПО для разработки полупроводниковых чипов Китаю

19.04.2021 20:16:49 | Автор: admin

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

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

Насколько это серьезно?


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

Собственные аппаратные и программные инструменты Китая морально устарели они отстают от современных лет на 8-10. Если закрыть доступ к EDA, Китаю придется очень постараться, чтобы достичь современного уровня развития полупроводниковой электроники США. Но если все получится, то в мире появится, вероятно, сразу несколько компаний, которые смогут производить современные чипы.

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

При этом США последовательно продолжают политику давления на электронную отрасль Китая. Например, несколько дней назад правительство США запретило поставлять процессоры компании Phytium. Стоит напомнить, что она разрабатывала компьютеры Tiahne, не раз входившие в рейтинг мощнейших суперкомпьютеров мира. Запрет объясняется тем, что разработки компании применяются в суперкомпьютерах КНР, мощности которых используются, в частности, армией Китая.

А что Китай?


Поднебесная старается побыстрее развернуть собственное производство чипов. Так, в прошлом году Китай заявил об инвестициях в эту отрасль более $1,4 трлн. Плюс китайские компании переманивают ключевых инженеров TSMC, стремясь обогнать США в производстве чипов.


Кроме того, на днях стало известно о том, что китайская компания Loongson Technology разработала с нуля собственную процессорную архитектуру. Она решила стать независимой после того, как MIPS Technologies перешла на RISC-V. Ранее MIPS Technologies занималась развитием архитектуры и лицензированием интеллектуальной собственности, которая связана с процессорами MIPS. Сами чипы компания не производила. Но вот перерожденная организация займется выпуском процессоров, но уже на базе архитектуры RISC-V.

По оценке независимых специалистов, у этой архитектуры нет ничего общего с ALPHA, ARM, MIPS, POWER, RISC-V или х86. Компания разработала собственный формат инструкций, их кодирование, режимы адресации и т.п. LoongArch содержит около 2000 проприетарных инструкций. По словам разработчиков, они удалили устаревшие инструкции для обеспечения пониженного энергопотребления и более эффективной работы. В дополнение к базовому набору инструкций компания добавила инструкции расширения двоичного преобразования (LBT), инструкции расширения векторной обработки (LSX), инструкции расширения расширенной векторной обработки (LASX) и инструкции расширения виртуализации (LVZ), сообщает PC Watch.

Все упирается в EUV


Речь идет о технологии фотолитографии в глубоком ультрафиолете, которая является ключевой при производстве современных процессоров. Соответствующее оборудование производит компания ASML из Нидерландов. И она не может теперь поставлять свои системы китайцам, поскольку последние изготовлены с использованием американских технологий. Американцы же, как мы знаем, запретили передавать их в КНР.


Кроме ASML, фотолитографические машины производят и другие компании, например, Canon и Nikon. Но только у нидерландской компании есть системы для фотолитографии в глубоком ультрафиолете с длиной волны 13,5 нанометров.

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

Оборудование EUV производит лишь ASML, у конкурентов его нет. У китайцев, насколько можно понять, его тоже нет. Компания SMIC, которая является одним из главных производителей полупроводников из Поднебесной, сделала заказ на EUV у ASML еще в 2018 году, но из-за торговой войны с США и санкций оборудование Китаю не поставили. Сейчас весьма сомнительно, что SMIC вообще когда-либо получит доступ к этим системам. А без них современные чипы не выпустить.

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

Подробнее..

Процессоры Intel Xeon Scalable третьего поколения 10 нм и 40 ядер для сервера

12.04.2021 10:16:29 | Автор: admin


В ряду процессорных анонсов 2021 года следующими оказались тяжеловесы процессоры для серверов Intel Xeon Scalable. Модели семейства Ice Lake-SP стали первыми Xeon, выполненными по технологии 10 нм но на этом, конечно, новшества не заканчиваются. Полностью оправдывая свой девиз двигаться быстрее, хранить больше, обрабатывать всё, третье поколение показывает солидный прирост производительности и поддержку самых передовых серверных технологий.

По сравнению с предшествующим поколением Ice Lake-SP демонстрируют в среднем полуторный прирост производительности при операциях с целыми и числами с плавающей точкой; скорость инференса нейросети (измеренного на примере BERT) возросла в 1,7 раза, скорость межпроцессного взаимодействия увеличилась на 20%. В целом, если сравнивать с платформой 5-летней давности, ее замена на Ice Lake-SP повысит общую производительность в 2,7 раз. Чтобы не быть голоциферными, давайте сравним второе (Cascade Lake) и третье поколение Intel Xeon по основным функциональным позициям.
Cascade Lake Ice Lake
Количество ядер на сокет 4-28 8-40
L1/L2/L3 кеш на ядро 32 кб/1 Мб/1,375 Мб 48 кб/1,25 Мб/1,5 Мб
Каналов/частота памяти 6/2933 МГц 8/3200 МГц
Макс. объем памяти 1 Тб 6 Тб
Кол-во интерлинков/скорость 2-3/10,4 Гт/c 2-3/11,2 Гт/c
Линий PCIe на сокет 48xPCIe 3.0 64xPCIe 4.0
О внутреннем устройстве новых процессоров Intel Xeon, а также об их интеллектуальных функциях мы намерены поговорить отдельно. Пока же перейдем к ассортименту. Напомним, что третье поколение дебютировало ровно год назад в лице семейства Cooper Lake, выполненного еще по предыдущему 14-нм техпроцессу. Таким образом, в рамках одного поколения мы имеем два семейства с различными характеристиками имейте это в виду при подборе серверной конфигурации. Всего в рамках Ice Lake-SP анонсировано 36 моделей Xeon линеек Silver, Gold и Platinum. Приводить характеристики всех их, думаем, не имеет смысла выберем вместо этого топовые и младшие модели из каждой линейки.
Баз. частота Макс. частота Ядер/потоков Кеш TDP Цена
Platinum 8380 2,3 ГГц 3,4 ГГц 40 / 80 60 Мб 270 Вт $8099
Platinum 8352Y 2,2 ГГц 3,4 ГГц 32 / 64 48 Мб 205 Вт $3450
Gold 6348 2,6 ГГц 3,5 ГГц 28 / 56 42 Мб 235 Вт $3072
Gold 5315Y 3,2 ГГц 3,6 ГГц 8 / 16 12 Мб 140 Вт $895
Silver 4316 2,3 ГГц 3,4 ГГц 20 / 40 30 Мб 150 Вт $1002
Silver 4309Y 2,8 ГГц 3,6 ГГц 8 / 16 12 Мб 105 Вт $501
И, как говорится, last but not the least: процессоры Ice Lake-SP стоят значительно меньше своих предшествующих аналогов. Например, новый флагман Xeon Platinum 8380 на 20% дешевле прежней топовой модели 8280 это в абсолютных цифрах. В пересчете же на ядро получается даже более кудрявая экономия свыше 40%. Так что, если есть необходимость обновить серверный парк, рекомендуем дождаться моделей на новой платформе, благо ведущие производители уже успели их анонсировать.
Подробнее..

США запретили TSMC производить чипы для разработчика суперкомпьютеров Tiahne

16.04.2021 20:09:46 | Автор: admin

Торговые войны Соединенных Штатов с Китаем продолжаются. Кроме Huawei, сейчас США стали оказывать давление на компанию Phytium, которая разрабатывала суперкомпьютеры Tiahne, не раз входившие в рейтинг мощнейших суперкомпьютеров мира.

Способ влияния простой и эффективный одновременно: крупнейшему поставщику чипов TSMC просто запретили производить процессоры для Phytium. Объяснили это тем, что разработки Phytium применяются в суперкомпьютерах КНР, мощности которых используются, в частности, армией Китая.

Почему Phytium попала в немилость?


По мнению чиновников США, отвечающих за введение санкций, эта компания имеет тесные связи с китайскими военными. Такие же обвинения получила и компания Huawei, когда на нее накладывали санкции. Phytium разрабатывает процессоры на архитектуре ARM, и приостановка сотрудничества с TSMC означает полную остановку процессов разработки у Phytium. Такие процессоры просто некому больше производить.

Phytium и Huawei не единственные компании из КНР, которые сейчас находятся под санкциями. США включили в черный список еще шесть компаний, которые имеют отношение к высокопроизводительным вычислениям (high performance computing, HPC) и суперкомпьютерным платформам. В список вошли:

  • Шанхайский центр проектирования высокопроизводительных интегральных микросхем (Shanghai High-Performance Integrated Circuit Design Center).
  • Национальный суперкомпьютерный центр Цзинаня (National Supercomputing Center Jinan).
  • Национальный суперкомпьютерный центр Чжэнчжоу (National Supercomputing Center Zhengzhou).
  • Национальный суперкомпьютерный центр Шэньчжэня (National Supercomputing Center Shenzhen).
  • Национальный суперкомпьютерный центр Уси (National Supercomputing Center Wuxi).
  • Sunway Microelectronics.
  • Они, по мнению чиновников США, разрабатывали суперкомпьютерные системы и их компоненты для военных Китая, помогая создавать оружие массового поражения.

Санкции на компании из Китая, которые разрабатывают суперкомпьютерные системы, к слову, начали накладывать давно. Еще в 2016 году китайские суперкомпьютерные центры в Гуанчжоу и Тяньцзине были внесены в черный список организаций, сотрудничающих с государством или военными. Список пополнили еще при президентстве Барака Обамы задолго до избрания Трампа. Тот же институт NUDT, который разработал суперкомпьютер Tianhe-2А, тоже попал в немилость.


И что теперь?


Компании TSMC придется подчиниться требованиям. Ее руководство уже заявило о том, что собирается поставить все чипы, заказанные китайцами, до 9 апреля 2021 года. После этого выпуск продукции для бывшего партнера будет прекращен. Пока что TSMC ничего не рассказала о планах по работе с другими китайскими компаниями, которые также попали под санкции. Будут с ними прекращены отношения или нет, пока неясно.

Скорее всего, Китай начнет отставать в производстве суперкомпьютеров, пока не освоит производство чипов самостоятельно. Стоит отметить, что Phytium с National University of Defense Technology разрабатывала суперкомпьютеры Tianhe-1 и Tianhe-2, которые не так давно входили в тройку самых производительных систем мира.


В прошлом году китайские суперкомпьютеры занимали 214 позиций из 500 в рейтинге Top 500.

Сейчас обе компании участвуют в разработке суперкомпьютера Tianhe-3, который также войдет в рейтинг. Его должны были запустить в работу еще в 2020 году, но из-за пандемии и усложнения условий логистики сборку и запуск перенесли. Возможно, из-за санкций США запуск снова придется сдвинуть на неопределенный срок.

В 2019 году санкции США, введенные против компании Sugon, помешали создать вовремя суперкомпьютер Sugon, который разрабатывался, кстати, вместе с американской компанией AMD. То же самое произошло с компаниями Higon, Chengdu Haiguang Integrated Circuit, Chengdu Haiguang Microelectronics Technology и Институтом компьютерных технологий Уси Цзяннань (Wuxi Jiangnan Institute of Computing Technology).

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

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


Но вот производит эти чипы TSMC. И здесь действительно все сложно: чипы подобного уровня может производить очень ограниченное число компаний в мире. Скорее всего, кроме TSMC и Samsung на это пока никто не способен. Но и Samsung, и TSMC вынуждены следовать указаниям США.

Правда, Китай старается быстро развернуть собственное производство чипов. Так, в прошлом году Поднебесная заявила об инвестициях в эту отрасль более $1,4 трлн. Плюс китайские компании переманивают ключевых инженеров TSMC, стремясь обогнать США в производстве чипов. Возможно, вскоре Китай сможет производить процессоры для суперкомпьютеров самостоятельно. Когда это произойдет, сказать сложно.

Подробнее..

Переворот на инфраструктурном рынке ARM против Intel

19.04.2021 12:12:03 | Автор: admin

99,9 % всех серверов на рынке построены на базе Intel. Поэтому, говоря про серверное железо, мы невольно подразумеваем технику на базе Intel, как в свое время под ксероксом подразумевали копировальный аппарат от единственного производителя этих устройств.

С годами на рынке устройств печати монополия была разрушена появились сильные игроки, потеснившие Xerox. А что же с рынком серверного оборудования? До недавнего времени многие считали, что Intel продержится у руля еще 10лет, и предпосылок к переменам не было.

Тем не менее начались изменения: ARM-процессоры, всегда применявшиеся для смартфонов и потребительской техники, вторглись на территорию Intel, и довольно успешно. Облачные провайдеры начали вкладывать деньги, чтобы создать свои решения на этой платформе и на их основе предлагать услуги и вычислительные ресурсы в аренду. А компания Apple, которая много лет производила ноутбуки и ПК исключительно на Intel, внезапно выпустила новое поколение устройств на ARM-платформе, добившись потрясающей производительности.

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

Темы круглого стола:

  • Почему процессоры ARM внезапно стали такими быстрыми?

  • Какой софт нужен новым процессорам, и где его взять?

  • Зачем компаниям нужна закупка подобного железа?

  • Как прошли первые тесты ARM? Как процессоры показывают себя в продуктивной эксплуатации?

Кому будет интересно?

  • руководителям направления ИТ-инфраструктуры;

  • CIO компаний различных отраслей;

  • старшему техническому составу ИТ-подразделений.

Модератор: Илья Воронин, руководитель Центра проектирования вычислительных комплексов Инфосистемы Джет

Спикеры:

  • Павел Романченко, технический директор Центра инноваций Инфосистемы Джет;

  • Александр Голуб, технический директор Т-Платформы;

  • Василий Гладышев, руководитель департаментаИТ эксплуатации QIWI.

Регистрация по ссылке

Подробнее..

Конец Золотого Века. История процессоров поколения Intel Pentium III. Часть 2

06.04.2021 12:11:10 | Автор: admin

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

  • Мы сравнили поздний Pentium II (Deschutes) и ранний Pentium III (Katmai) и почти не нашли отличий.
  • Удивились производительности встроенного видео i810.
  • Вытерли скупую слезу, вспоминая горькую судьбу i820.
  • Искали медь в медных рудниках и не нашли.
  • Рассмотрели весь спектр чипсетов других производителей.
  • Не в последний раз помянули добрым словом i440BX.
  • Нашли компромисс в i815.

А теперь нас ждут новые приключения! На старт, внимание, марш!

Великая гонка: цель Гигагерц


До 1999 года ни один из оставшихся на плаву конкурентов не мог предложить процессор, который мог бы сравниться по производительности с решениями Intel. Ближайшими соперниками были K6-2 и K6-III от AMD, показывающие неплохие результаты в офисных приложениях и отчасти в играх (благодаря инструкциям 3DNow!). Тем не менее они заметно отставали в приложениях, активно использующих FPU в первую очередь программах для работы с графикой и CAD/CAM системах.

Только в 1999 году, AMD удалось подготовить ответ и ответ этот был серьезным как никогда. Имя ему было K7 Athlon. Тучи затмили солнце и началась буря Athlon был действительно быстр и в целочисленных операциях и в операциях с плавающей запятой, а AMD удалось достаточно быстро наращивать частоты (в том числе за счет довольно хитрого трюка при росте частоты ядра, частота кэша, а он был внешним, как у Katmai, не росла, замерев у отметки 350 МГц, а так же за счет чуть более длинного конвейера). Началась гонка частот, целью ее стала психологически важная отметка 1 ГГц.

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

Ожесточенная гонка закончилась 6 марта 2000 года с выходом AMD K7 Athlon с частотой 1 ГГц. Intel представила гигагерцевый Pentium III спустя два дняДн 8 марта 2000 года. В июне и июле вышли последние модели Coppermine 1100 (шина 100 МГц) и 1133 (шина 133 МГц). Оба поступили в продажу в ограниченных количествах и их продажи были свернуты после отзыва первой 1133 МГц модели из-за выявленной нестабильности. AMD тем временем продолжила наращивать частоты.

20 ноября 2000 года, Intel представила процессор, ранее известный как P7 Pentium 4 (ядро Willamette) с частотой 1400 и 1500 МГц. В этот день завершился Золотой век Intel. Гонка частот продолжилась и длилась еще несколько лет.

Мертворожденная Timna и другие приключения Пентиума


В 1999 году Intel анонсировала разработку интегрированного решения для недорогих компьютеров и ТВ-приставок(сейчас его назвали бы SoC система на чипе) с кодовым именем Timna. На одном кристалле с ядром процессора должен был быть интегрирован контроллер памяти (конечно, RDRAM). Во многом судьбу проекта решила дороговизна памяти RDRAM и ошибка в реализации транслятора памяти MTH-S, призванного сделать возможной работу с обычной SDRAM. Да и недорогим сделать решение с дополнительным чипом было бы сложно. Так или иначе, проект был тихо свернут осенью 2000 года.

Другой интересной версией Pentium III стала заказная модель для использования в приставках Microsoft Xbox первого поколения. Это был именно Pentium III с шиной 133 МГц, но кэшем урезанным до 128 КБайт. В отличии от Celeron на ядре Coppermine-128, он почти сохранил скоростные параметры кэша (в предыдущих Celeron ассоциативность кэша была уменьшена вдвое) лишь латентность была на 1 такт больше. Приставка, вышедшая в 2001 году, была создана на специальном чипсете от nVidia, построенном вокруг видеоядра NV20A (вариация GeForce 3 Ti с добавлением некоторых функций, появившихся в дальнейшем в серии GeForce FX) с поддержкой памяти DDR. Процессор и видеочип при этом использовали общую память (вероятно была реализована архитектура UMA).

Любопытный факт использовались микросхемы в корпусировке, свойственной скорее видеопамяти. Память работала на частоте 200 МГц (400 МГц эффективная частота), пропускная способность при 128-битной шине памяти равнялась 6.4 ГБайт/сек вдвое быстрее топового на тот момент решения для Pentium 4.

Не осталась забыта и марка Celeron. С марта 2000 года выпускались они на ядре Coppermine-128, отличающемся уменьшенным вдвое (до 128 КБайт) кэшем второго уровня с более скромными возможностями производительности (ассоциативность уменьшена вдвое с 8 до 4). Стартовав с диапазона 533-600 МГц, уже к концу года Celeron исчерпал возможности 66 МГц шины, остановившись на отметке 766 МГц.

Уже в январе, удешевленные процессоры перешли на 100 МГц шину, начиная с модели 800. Удивительно, что дешевый процессор в итоге догнал своего полноценного собрата в августе была выпущена модель с частотой 1100 МГц и, в отличии от аналогичной модели Pentium III особой редкостью не является.

Жизнь после смерти


В 2001 году, когда уже вовсю продавался Pentium 4 (оставаясь неприлично дорогим с RDRAM и неприлично медленным и дорогим с SDRAM), Intel выпустила третью итерацию Pentium III Tualatin. Intel на тот момент требовалось решение среднего уровня, а Coppermine уже довольно сильно отставал по производительности от среднеуровневых моделей Athlon (а иногда и Duron!), да и 130 нм техпроцесс нужно было обкатать на чем-то более простом, чем грядущий Northwood (первое обновление Pentium 4). Помимо die shrink, было внесено много малозаметных, но очень важных изменений улучшен механизм предсказания переходов, в кэша появилась предвыборка (prefetch). Результат получился интересным.

Во-первых, вышло сразу три серии. Обычная с 256 Кбайт кэша и 133 МГц шиной и частотами от 1.13 до 1.4 ГГц просто масштабировала уровень производительности предшественника на новые частоты высоты, но потеряла возможность работы в двухпроцессорных системах. Версия Pentium III-S позиционировалась как вариант для недорогих и энергоэффектиных (пара Xeon Foster с архитектурой Netburst и памятью RDRAM была слишком горячей для 1U корпусов того времени) двухпроцессорных серверов и имела уже 512 Кбайт кэша при 133 МГц шине.

В некоторых источниках упоминается, что такие процессоры продавались и под брендом Xeon, но автору не удалось обнаружить ни упоминания об этом ни в каталогах Intel, ни хотя бы фото процессора в корпусировке Socket 370 с надписью Xeon. Третьим вариантом был Celeron (снова получивший в дублирующихся версиях приставку А к обозначению) с частотой от 1000 до 1400 МГц с 256 Кбайт кэшем и 100 МГц шиной.

Celeron этого поколения очень полюбились оверклокерам без особых усилий, Celeron 1200A заводился на шине 133 МГц и стабильно работал на 1600 МГц. Несколько хуже разгонялись процессоры с 512 Кбайт кэша, но это было уже не так важно даже Celeron на 1.6 ГГц с легкостью обходил более высокочастотный полноценный Pentium 4 1.8 ГГц с таким же объемом кэша. Дешевый Celeron 1200А стал бестселлером 2001-2002 годов и только выход Pentium 4 на ядре Northwood с 512 Кбайт кэша восстановил статус кво, приведя к завершению карьеры Celeron Tualatin и Pentium 4 Willamette.

Не отличаясь от Coppermine разъемом, он все же требовал новых плат для апгрейда старых систем он почти не подходил. Изменилось назначение части выводов, в основном, связанных с определением напряжения питания (VID), а также снизились с 1.5 (AGTL+) до 1.25 В (AGTL, да плюс был именно у ранней версии) сигнальные уровни процессорной шины. Чуть раньше, чем Tualatin, появилась промежуточная версия Coppermine-T, способная работать с обоими вариантами системной шины, но поддерживающая двухпроцессорный режим только с в режиме AGTL.

Tualatin, Coppermine-T и небольшая часть поздних Coppermine (с частотой 1000 МГц) оснащались упаковкой FCPGA с пластиной-теплоотводом поверх кристалла эта практика сохранилась и по сей день, не оснащаются хитспредером только мобильные некоторые встраиваемые процессоры Intel.

Для работы с Tualatin планировался к выходу чипсет Intel 830 Almador с поддержкой 1 Гбайт SDRAM, но вышел он только в мобильных версиях. В результате, он был поддержан обновленными версиями прежних чипсетов Intel 810E2 и 815EPT/ET, VIA 694T и Apollo Pro 266T (а также интегрированным PLE133T), SiS630T. Платформа Socket 370 и процессоры с архитектурой P6 уже начинали покидать рынок.

Удивительным было другое. Хотя платы Socket 370, созданные для Coppermine, не могли работать с Tualatin, с ним отлично заработали классические слотовые платы на Intel 440BX сначала методика доработки переходника была разработана энтузиастами, а после некоторые компании наладили выпуск уже специально адаптированных переходников. Владельцу платы оставалось лишь модифицировать прошивку BIOS специальной утилитой, добавляющей поддержку микрокодов новых процессоров. Для сокетных плат фирмой PowerLeap также был создан переходник для работы с Tualatin, но он был выпущен небольшим тиражом и стоил гораздо дороже переходника для слотовых плат.

Вообще, гибридизация платформ для процессоров P6 широко распространена. Во времена актуальности платформы, в основном создавались переходники для установки как можно более мощного процессора в старую плату. Сейчас входит в моду обратная модернизация первый процессор семейства, Pentium Pro, стал культовым в среде участников ретрокомпьютерного движения, но оригинальную плату с Socket 8 найти весьма непросто, да и скорость работы памяти на наиболее распространенных платах с 440FX очень сильно уступает более новым чипсетам, поддерживающим SDRAM. Одним из энтузиастов был проведен реверс-инжиниринг и начато мелкосерийное производство переходников для установки Pentium Pro в слотовые платы. Им также была разработана технология модернизации BIOS для поддержки этих процессоров.

В статье о Pentium упоминалось, что последней платформой, объединявшей всех основных производителей x86 процессоров была Socket 7. Но она была не последняя, для которой существовала альтернатива Intel. C 2002 года, компания VIA выпускала процессор VIA C3 (VIA Cyrix III), предназначенный для установки в Socket 370. Он позиционировался как альтернатива Celeron за еще меньшие деньги и с меньшим тепловыделением. Производительность альтернативного процессора, правда, оказалась столь удручающей, что он не выдерживал сравнения даже с Celeron Mendocino и нашел свою нишу в сверхдешевых ноутбуках и встраиваемых решениях.


Tualatin представлен рабочей станцией ServerGhost Rotoscope P6/4, оснащенной процессором Pentium III-S 1266 МГц (512 Кбайт кэша). Использована материнская плата Intel D815EEA2 со встроенными видео, звуковой и сетевой картой. В оснащение входит 512 Мбайт ОЗУ и жесткий диск на 20 Гбайт (IDE). Дополнительно установлена видеокарта nVidia GeForce 2MX с 32 Мбайт видеопамяти. Компьютер работает под операционной системой eComStation 1.0 (дальнейшее развитие OS/2).

Параллельные миры: подвижные малыши


В мире ноутбуков в то время царило удивительное спокойствие. Первые машины на Pentium III использовали тот же дизайн и те же материнские платы, что и предыдущее поколение на Pentium II. Таковы были IBM ThinkPad 600X, Compaq Armada M700/E500, Dell Latitude CPi/CPx и многие другие. Мир ноутбуков миновали Intel 810 и тем более Intel 820. 440BX продержался чуть ли не дольше, чем на десктопах вплоть до последних Coppermine Mobile Pentium III 1000, ноутбуки использовали 100 МГц шину.

Intel 815 прошел практически незамеченным и встречался довольно редко, из брендов первого эшелона его использовали Dell в модели Latitude C800 и его домашнем аналоге из серии Inspiron и Sony в крупных моделях VAIO в основном ради экономии на отдельной видеокарте, как финансовой, так и энергетической.

Время поиска форм подходило к концу. В это время зародилось разделение полноразмерных ноутбуков (субноуты отделились гораздо раньше) на тонкие и легкие и мобильные рабочие станции/замена десктопа). IBM выпустила уникальный гибрид ноутбука, планшета и бумажного (!) блокнота IBM ThinkPad Transnote. Sony продолжила свою сверхтонкую серию 505.

Рост размеров матриц на какое-то время остановился на 15.1 дюйма (более крупные размеры долгое время были уделом единичных моделей), начался рост качества экрана и увеличение разрешений. Топовые модели имели могли отображать до 1600х1200 точек при 15 дюймах и до 1400х1050 при 14 дюймах диагонали. Появились первые IPS экраны с широкими углами обзора и точной цветопередачей.

Начиная с 600 МГц модели, в Mobile Pentium III появилась технология, кардинальным образом повлиявшая на дальнейшее развитие энергоэффективных процессоров, распространившаяся со временем на серверный и десктопный рынки. Речь о Intel SpeedStep технологии, позволяющей динамически менять частоту процессора в зависимости от нагрузки и требований к балансу производительности и жизни от батарей, изменяя внутренний коэффициент умножения частоты. Минимальным значением было 5.0 (хотя мобильная версия Pentium III стартовала с 400 МГц), и чем выше была номинальная частота, тем больше был выигрыш в экономичности при переходе в режим сбережения энергии.

Первое время режимы работы регулировались специальной утилитой, режимом по умолчанию у которой был адаптивный, но можно было зафиксировать максимальную или минимальную производительность принудительно или в зависимости от того, подключен ли сетевой адаптер. Для самых мобильных, еще на стыке поколений появился уникальный в своем семействе одночиповый чипсет Intel 440MX, объединивший в одной микросхеме северный и южный мост, но потерявший поддержку AGP. Он существовал в двух версиях для 66 и 100 МГц шины.

Если в настольном сегменте Tualatin занимал относительно бюджетные позиции, то в ноутбуках он, названный теперь Mobile Pentium III-M, был флагманом Willamette был слишком горяч для ноутбуков, а время мобильного Northwood еще не пришло. Мобильный вариант Tualatin был аналогичен серверному 512 Кбайт кэша и 133 МГц шина (сверхэкономичные версии могли выпускались и для 100 МГц шины). Частоты же начинались от 700/733 МГц (ULV сверхэкономичная версия) до 1333 МГц (просто мобильный процессор). Существовали и мобильные Celeron, отличавшиеся 256 Кбайт кэша и отсутствием поддержки SpeedStep.

С выходом Tualatin, только ноутбуки получили новый чипсет от Intel 830MP/MG (обычная и интегрированная версии). При это многие производители в то время предпочли использовать дискретные видеорешения. Новый чипсет стал более экономичен, в том числе и ценой потери поддержки старой AGTL+ шины с напряжением 1.5 В и немного быстрее за счет улучшенного встроенного видео (для тех немногих, кто его использовал) и поддержки большего объема памяти, что было уже актуально в мобильных рабочих станция вроде IBM ThinkPad A30p.

Источник

Ноутбучное направление наиболее развито в коллекции Digital Vintage. В качестве примеров Pentium III систем можно привести классический IBM ThinkPad 600X и максимально заряженный IBM ThinkPad A22p оба построены на основе 440BX. За Tualatin играет компактный IBM ThinkPad X22 на чипсете Intel 830MP.

IBM ThinkPad 600X

  • 13" 1024x768 TFT экран
  • Pentium III 500 МГц
  • 320 Мбайт ОЗУ
  • 40 Гбайт HDD
  • 4 Мбайт NeoMagic MagicGraph 256AV
  • DVD-ROM
  • Windows 2000 Professional

IBM ThinkPad A22p

  • 15" 1600x1200 TFT экран
  • Pentium III 1000 МГц
  • 512 Мбайт ОЗУ
  • 32 Гбайт HDD (5400 об/мин)
  • 16 Мбайт ATi Mobility M3 с аналоговыми входом и выходом
  • DVD-ROM, FDD, локальная сеть Ethernet
  • Windows 98 SE

IBM ThinkPad X22

  • 12" 1024x768 TFT экран
  • Pentium III-M 800 МГц
  • 640 Мбайт ОЗУ
  • 20 Гбайт HDD
  • 8 Мбайт ATi Mobility Radeon
  • Док-станция UltraBase с DVD-ROM, FDD и улучшенными колонками
  • OS/2 Warp 4.5 / Windows 2000 Professional

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


Пожалуй, самое интересной происходило именно в мире серверов. Здесь и по сей день можно наблюдать самое широкое разнообразие систем всех уровней и размеров. И это разнообразие закладывалось именно в эпоху Pentium III. От Велоцирапторов (продолжим тему динозавров) миниатюрных апплаенсов на сверхнизковольтных Celeron и 440MX (всего 300 МГц и 128 Кбайт кэша, а уже сервер!) до Тирексов восьмипроцессорных Xeon на базе Profusion (листая прайсы, школьники пускали на них слюни не меньше, чем на картинки с обнаженными девушками!).

Шире всего, конечно, развилась средняя ниша двухпроцессорные Pentium III и Pentium III Xeon, назовем их Трицератопсами. Были и специализированные файловые серверы с отдельным процессором ввода-вывода вылитые Диплодоки. Давайте подробнее рассмотрим весь этот Парк Юрского Серверного Периода.

Начнем с малышей. Как раз в то время, Intel выпустил серию концептов референсных дизайнов компактных серверов для использования в качестве почтовых машин, брандмауэров, веб-серверов (напомним, это был еще Web 1.0, большая часть контента была статической). Один процессор, один диск, немного памяти. Зачастую даже без видеокарты а зачем она? Sun хороший пример для подражания!

Бюджетные системы для небольшого бизнеса были однопроцессорными и принципиально не отличались от десктопов (IPMI в обиход войдет еще не скоро). Именно во времена Pentium III, Intel выпустила первую серверную материнскую плату в формате MicroATX Intel S815EBM1.

Но бал внизу рынка правит не i815, а вездесущий 440BX! Большинство одно и двухпроцессорных серверов начального уровня было построено на его основе, хотя встречался он и в более серьезной технике. Долго не сдавал своих позиций и 440GX а так как старшие модели Xeon долго оставались верны 100 МГц шине, не нужно было и спешить с его заменой.

Pentium III Xeon в первой своей итерации Tanner от своего предка отличался не более, чем Katmai от Deschutes. Частоты составили 500 или 550 МГц, традиционно были выпущены три версии с разным объемом кэша 512 Кбайт, 1 или 2 Мбайт. Гораздо больше изменений получила вторая итерация, Cascades. Эти процессоры в двух основных линейках. С шиной 133 МГц и 256 Кбайт кэша Cascades-младший принципиально не отличался от Coppermine и мог работать в только двухпроцессорных конфигурациях (привет, будущий Xeon DP!).

А вот настоящих Cascades, как ситхов, снова было только двое 700 или 900 МГц при 100 МГц шине. Причем старший из них, доступен был только с 2 Мбайт кэша, а 700 МГц процессор лишился только версии с 512 Кбайт кэша. Как и у Coppermine, кэш теперь перебрался на общий кристалл с ядром процессора, значительно увеличив его площадь. Такие процессоры официально могли работать в многопроцессорных системах (4 процессора на процессорную шину).

VRM перебрался в корпус процессора. Процессоры выпускались в двух вариантах, отличавшихся питающим напряжением 2.8 В и 5/12 В в первом случае требовалась реализация части преобразователя напряжения на плате или отдельным модулем, во втором весь преобразователь располагался в картридже на плате процессора.

Хотя многие платы на основе 440GX и 450NX могли работать с 100 МГц Cascades, 133 МГц версия потребовала нового чипсета. Им стал Intel 840, чипсет для рабочих станций, работающий как с Pentium III, так и с Pentium III Xeon. Он получил поддержку AGP 4x и двухканальный контроллер RDRAM и это при том, что даже одноканальная с лихвой перекрывала потребности процессорной шины. Ответ все тот же надежды на прямую работу видеоускорителей с системной памятью через AGP, которые так и не оправдались в итоге.

450NX уже серьезно устаревал. Остуствие поддержки SDRAM влияло и на производительность и на возможности увеличения объема память. Прямой замены он так и не получил. Вместо него еще более широкое распространение получили чипсеты Champion. К тому времени RCC сменила имя на ServerWorks, и Champion 3.0 получил маркетинговое имя ServerSet III. На нем Intel выпустила целую линейку плат разного уровня. Фактически, он заменил 450NX в большинстве готовых систем, а в последствии занял место 440BX/GX/840 и в двухпроцессорных серверах, в том числе на нем сделана львиная доля двухпроцессорных плат и серверов с процессорами Tualatin.

В конце 1997 года Intel объявила о приобретении компании Corollary, знаменитой своими очень многопроцессорными серверами. Вскоре после этого, Intel объявила о разработке нового чипсета Profusion с поддержкой до 8 процессоров Intel Pentium III Xeon и 32 Гбайт SDRAM памяти. Это был первый чипсет Intel, который мог работать с двумя процессорными шинами, на каждой из которых располагалось по четыре процессора (шина GTL+ могла работать максимум с 4 процессорами). Об этом чипсете известно довольно мало, и систем на нем было выпущено не так много, как ожидалось. Самой популярной стала, ожидаемо, платформа от самой Intel SRPL8, на основе которой строили серверы многие интеграторы и локальные производители.

Источник
Интересным решением, так и не получившим широкого распространения за пределами небольшого количества моделей тяжелых файловых серверов стала инициатива I2O Intelligent Input/Output. RAID-контроллеры с выделенным процессором для расчета контрольных сумм уже получили широкое распространение, I2O же развивала идею еще дальше, предполагая использование выделенного процессора для управления всем вводом-выводом и разгружая центральные процессоры сервера от лишних операций. Например, HP LH3 обходился парой Pentium III, а обслуживанием I/O операций ведал Intel 960 на 66 МГц, оснащенный собственной памятью объемом до 16 Мбайт.

Как уже упоминалось, в 2001 году появились рабочие станции и корпусные (pedestal) серверы с процессорами нового поколения Intel Xeon Foster на базе микроархитектуры NetBurst. Однако для использования в набирающих популярность тонких 1U серверах они оказались слишком горячими. В результате, для тонких серверов и недорогих производительных систем был выпущен Pentium III-S серверный вариант Tualatin с 512 КБайт кэша, пользовавшийся немалой популярностью.

Не смогли Foster заменить Pentium III Xeon и в многопроцессорных системах вдвое большая частота не компенсировала маленький, всего 256 Кбайт, кэш и отсутствие поддержки более чем двухпроцессорных режимов. Это была скорее замена младших Cascades для рабочих станций. Cascades с 2 Мбайт кэша и Profusion/ServerSet III оставались во главе вплоть до появления Intel Xeon MP на все том же ядре Foster, но с добавленным кэшем третьего уровня (1 или 2 Мбайт) и полноценной поддержкой мультипроцессорных режимов.

Пожалуй, самым эксклюзивным экспонатом по сегодняшней теме можно назвать Intel 440MX Network Appliance (Reference Design) Salt River. Универсальный компактный сетевой сервер оснащен процессором Celeron ULV 300 МГц, 128 МБайт ОЗУ и 10 Гбайт жестким диском (IDE). На плате присутствуют два сетевых интерфейса, разъем для мезонинных плат расширения. В корпусе установлены двухстрочный экран и линейка светодиодов, управляемых через интерфейс I2C. Детальный обзор этого сервера в нашей предыдущей статье.


Тяжелая артиллерия представлена сервером приложений IBM Netfinity 7100, поддерживающим до 4 процессоров Intel Xeon 700/900 МГц (установлен один 700/1М). Сервер построен на базе полной версии чипсета ServerWorks ServerSet III-HE и поддерживает до 16 Гбайт ОЗУ. В сервере продублированы или поддерживают быструю замену все ключевые компоненты. Подробнее о нем будет написано в отдельной статье-обзоре.


В процессе восстановления находится переданный хабровчанином radiolok (Огромное ему спасибо!) HP NetServer LH3 настоящий диплодок с выделенным I/O процессором Intel 960. Технически система исправна и ожидает доукомплектования и исправления косметических недочетов. Дома сервер получил ласковое прозвище Тумбочка Пэккард




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


Системы поколения Pentium III на сегодняшний день являются одними из самых популярных среди коллекционеров и энтузиастов ретрокомпьютинга и ретрогейминга. Не раз и не два приходилось слышать Pentium III это икона и самый уважаемый процессор в нашей сфере. С одной стороны, собрать систему с Pentium III может позволить себе каждый стандартные модели процессоров относительно недороги, как и платы на распространенных чипсетах VIA 694, Intel 815.

Немного особняком стоит 440BX хорошие платы на нем сейчас в цене. С другой топовые или просто редкие платы и готовые системы могут стоить немалых денег и найти их очень не просто. В первую очередь, это касается не принятых в свое время плат на Intel 820 и очень редких Intel 840.

Да, Pentium Pro почитаем еще больше, но его и во времена актуальности видели немногие, а сейчас он удел самых упорных и настойчивых. А Pentium III процессор, который в той или иной ипостаси побывал в свое время у многих. Второй фактор Pentium III позволяет получить действительно хорошую производительность как в Windows 9x, так и в Windows NT/2000.

На нем можно поиграть в ретроигры, попробовать старый серьезный софт, а можно поэкспериментировать с Linux/Unix системами. Именно для Pentium III стали появляться первые дизайнерские платы Asus Black Pearl, Abit Casper. С одной стороны, компьютеры стали почти похожи на современные, с другой многие производители еще не боялись экспериментировать.

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

Вместо заключения: наступит ли снова золотой век?


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

Время, когда мы можем видеть одновременно большое разнообразие и относительную зрелость технологии. И что это был именно он, обычно мы узнаем уже ретроспективно. Но хватит философии, нас ждет продолжение сериала. На очереди эпоха NetBurst. До новых встреч!

Подробнее..

Millennium dream. Строим компьютер мечты 2000 года

17.04.2021 12:09:16 | Автор: admin

Давайте вспомним детские мечты! Кто-то мечтал о крутом велосипеде, кто-то о большой модельке крутого автомобиля или домике для кукол, кто-то о щенке или котенке. Я уверен, практически у всех мечта была, и далеко не одна! А на стыке веков в заветном вишлисте у многих был компьютер. И, конечно, компьютер хороший. Чтобы и игры тянул, и модем был в эти ваши Интернеты сходить. А продвинутые хотели еще и в Фидо.

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

Воспоминания


Итак, осень 2000 года. Грядет мой 15-й день рождения. Конечно, я тайком надеюсь, что мне подарят компьютер, ведь до сих пор в семье такой техники не было. Самым продвинутым девайсом дома на тот момент был видеомагнитофон. Бюджет на покупку компьютера еще не известен пока есть возможность помечтать. Умом, конечно, я понимал, что светит мне максимум что-то из старших Celeron или, если очень повезет, Pentium III. Об AMD, естественно, все знали, но всерьез уже (К6) или пока (К7) не воспринимали.

Но мечты на то и мечты, что границ они не приемлют! На несколько страниц после домашних компьютеров начинался самый захватывающий для нас раздел Рабочие станции и серверы. Мальчишками мы, конечно, не понимали, что это не просто крутые и дорогие компьютеры, а инструменты для выполнения определенных задач, и искренне мечтали однажды поиграть на восьмипроцессорном сервере. Да, 8 процессоров Pentium III Xeon по 700 МГц с невиданным двухметровым кэшем (что у Celeron 128 Кбайт мы уже знали и совершенно недоумевали, почему у новых Pentium III его стало всего 256 Кбайт вместо 512 Кбайт у старых!) порождали самые радужные картины в нашем сознании!

Мы даже думали, что, наверное, DOS на такой машине можно запустить без оперативной памяти. А может даже и Windows 95! Что играм не нужен даже второй процессор, мы тогда не знали. И не понимали, зачем нужна эта странная Windows NT, когда есть девяносто восьмая. А грядущую 2000 ждали как замену именно ее, Windows 98!

Невероятные объемы памяти, сравнимые с жесткими дисками в компьютерах половины нашей школьной компании. Множество слотов Странно, почему туда не установить видеокарты? И побольше, побольше! Долго удивлялись, узнав, что в серверах почти никогда не бывает AGP. Потом один из нас сказал, что там очень крутой PCI, и AGP не нужен. Только видеокарты очень дорогие. Поэтому мы их и не видели.

Но серверы стоили многие десятки тысяч убитых енотов (вечнозеленых бумажек, что на рубеже веков любили называть условными единицами), тогда мы обратили свое внимание на рабочие станции. Два процессора, гигабайт или даже два памяти, понятные нашим умам видеокарты. Конечно, дорого, но тут пишут, что на этом можно рисовать 3D-картинки и даже создавать игры, а значит, и играть, наверное, тоже можно. Мой ум тогда зацепился за слово создавать, что и привело меня сначала к попыткам писать программы. Сразу оговорюсь: хороший программист из меня не вышел, а потом уже к домашнему серверу и первым заработкам настройке сетей в соседних школах. Но это уже другая история

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

Проект: Платформа


Начнем, конечно, с головы, а точнее с двух именно так и никак иначе. Можно, конечно, выбрать пару гигагерцовых Pentium III, но в дрим-машине обязательно должен быть Xeon. И не неправильный с 256 Кбайт кэша, который отличается от обычного пенька только корпусом, а самый крутой с двухметровым кэшем на ядре Cascades. В 2000 году был доступен только 700 МГц вариант, поэтому выберем именно его, а не вышедший с почти годовой задержкой Xeon 900 МГц.


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

Доступных чипсетов по большому счету всего два: заслуженный Intel 440GX Marlinspike, вышедший еще в 1998 году для первых Pentium II Xeon Drake, и новый (для 2000 года, конечно) Intel 840 Carmel с поддержкой двухканальной RDRAM. И если плату на первом найти сложно, но возможно, то второй является настоящим анобтаниумом и встречается в основном в брендовых рабочих станциях, а у нас тут самосбор.

Да и заглядывая назад, на стык веков, вспоминается, что понять смысл этой странной памяти RIMM мы тогда не могли стоит как чугунный мост, но вроде не сильно быстрее. Вот бы туда DDR! Вот она казалась королевским вариантом. Ходил даже слух, что если поставить ее 32 Мбайт, то машина будет летать, как будто ее там 128!


Внимательный читатель спросит, а как же ServerSet III? Да, у этого чипсета была версия с AGP. К сожалению, реализацию AGP от ServerWorks нельзя назвать удачной значительная часть функционала не поддерживается, что сказалось и на производительности, есть проблемы со стабильностью работы. Плюс платы на нем по редкости сравнимы с основанными на Intel 840.

Что же нам доступно? Почитав форумы и поговорив с более опытными коллегами, выводим следующий список:

  • ASUS XG-DLS
  • Intel MS440GX
  • Supermicro S2DGE/U/2/R
  • AOpen DX2G
  • EPoX GXB-M
  • Gigabyte GA-6GXDW
  • Iwill DGL200
  • MSI MS-6135
  • Rioworks XDG-LS
  • Tyan Thunder X


Есть еще японский эндемик от Freeway с двумя разными слотами Slot1 и Slot2 и однопроцессорная плата от Gigabyte GA-6GXU. Если такая странная вещь попадет в мои руки, я попробую создать бескомпромиссную машину для Windows 98.

Итак, часть списка отметается, так как поддерживают только 550 МГц процессоры на ядре Tanner, другая представляет скорее академический интерес ввиду редкости. Остаются только первые три варианта, и Asus из них самый интересный. И речь не об оснащении SCSI и сеть встречаются и на других платах, речь о user-friendly подходе к проектированию. Удобная система фиксации процессоров, усиливающая плату пластина с обратной стороны, более привычный BIOS даже с возможностью небольшого разгона (!) напоминает современные топовые платы от этого производителя.

Intel и Supermicro в сравнении с ней выглядят суровым серверным железом, хотя принципиально не уступают в функционале. При этом на их стороне проверенная надежность, в минусах значительно более скудные настройки, особенно у Intel. Углубляться в сравнение смысла большого нет, по сей день эти платы очень редки за год в России может встретиться одно-два предложения. Это тот случай, когда не ты выбираешь плату, а плата выбирает тебя.

Теперь расскажу подробнее, с чем связаны строгие требования к габаритам платы. По моей задумке машина должна разместиться в довольно компактном корпусе десктопе InWin H500. Это давно полюбившаяся мне модель классического дизайна в стиле кирпич. Безусловно, у него есть шикарная альтернатива в виде бигтауэра Q500 в том же стиле, но на стороне десктопа компактность и обаяние слипера (от англ. sleeper термин, обозначающий быстрый автомобиль, в совершенно не выделяющемся облике; в данном случае мощный компьютер в скромно выглядящем корпусе). В этом стиле построена и моя боевая рабочая станция на паре E5-2670v3, которая дала весьма интересный опыт постройки довольно горячей машины в небольшом объеме корпуса.


Да, чуть не забыл про оперативную память. Достаточно будет максимума! Чипсет 440GX поддерживает до 2 Гбайт память SDRAM и удивительно всеяден может работать с обычной или регистровой памятью, с ECC или без, поддерживает чипы плотностью до 256 Мбит (модули до 1 Гбайт).

Проект: Видеосистема


Вернемся к мечтам! Практически каждый ребенок хочет на компьютере поиграть. А значит, нужно выбрать самое крутое игровое решение, которое при этом будет не очень выбиваться из роли серьезной рабочей станции. Выбор игровых карт широк: уходящий чемпион GeForce 256; еще не появившийся в продаже, но уже анонсированный GeForce 2; прежний король 3D-графики 3Dfx Interactive; представленный двухчиповой Voodoo 5 5500 и так и не вышедшей на рынок Voodoo 5 6000; успешный Radeon от вечно догоняющей ATi. Были и другие, уже уходящие решения вроде S3 Savage, но они к мечтам имеют весьма опосредованное отношение.

Карт для рабочих станций, пожалуй, еще больше. Но большинство из них узкоспециализированные и в играх будут не очень хороши. Пока лишь одна серия может называться действительно универсальной это Quadro от Nvidia. Эти карты (как происходит и по сей день) основаны на игровых чипах, но используют другие драйверы, оптимизированные для профессиональных OpenGL-приложений. Но и в играх они показывают очень достойный результат. Наш выбор оригинальная Quadro или ее обновленная версия Quadro 2 Pro (на базе GeForce 2 GTS). Обе карты довольно редки, поэтому используем ту, что удастся найти.


Но на этом останавливаться не будем. В 2000 году все еще очень популярны игры, использующие API Glide от 3Dfx Interactive наследие времен, когда каждый производитель разрабатывал свое решение. А решение 3Dfx было одним из лучших до прихода OpenGL на ПК и перехода на DirectX от Microsoft в стадию относительной зрелости. AGP слот может быть только один, поэтому установить одну из последних моделей Voodoo не получится без отказа от более производительной карты.

Поступим по-другому схожую, а зачастую и большую, в сравнении с топовыми одночиповыми решениями последних поколений (Voodoo 4 4500 и Voodoo 3 3500) обеспечивает пара представленных еще в 1998 году Voodoo 2. Эти карты поддерживают технологию SLI (именно так, Nvidia в 2001 году приобрела активы 3Dfx, в том числе интеллектуальную собственность и торговые марки), позволяющую двум ускорителям совместно работать над рендерингом кадров, по очереди обрабатывая четные и нечетные строки. В итоге видеосистема займет три слота расширения как и сейчас, в 2021! А доступными остаются еще три PCI и один ISA слот (или 2 PCI и 2 ISA один из слотов универсальный).


В последние годы ретрокомпьютинг стал популярным хобби. Но с популярностью стали заметно расти и цены на железо, особенно на игровое ведь значительная часть поклонников ретро ретрогеймеры. Самым ярким примером являются как раз культовые видеокарты 3Dfx серий Voodoo и Voodoo 2. Так что пара Voodoo 2 будет ударом по бюджету и сегодня не только майнеры греют цены на видеокарты! Но с учетом амбициозности проекта на эту жертву придется пойти. Причем для получения достаточной производительности хватило бы и одной, но в таком случае разрешение было бы ограничено режимом 800х600 пикселей. При использовании SLI можно получить большее разрешение 1024х768, оно куда более комфортное.

Проект: Диски и внутренняя периферия


В серьезной машине все должно быть серьезно! Долгое время, если в одном предложении упоминались диски и слово серьезно, рядом было и третье слово скази (SCSI). Действительно быстрые и надежные диски выпускались именно с этим интерфейсом. Если для IDE пределом так и остались 7200 rpm (оборотов в минуту) и соответствующая производительность, то SCSI уже несколько лет выпускались на 10000 rpm, а в 2000 году появились и 15000 rpm модели. Наш выбор 15000 rpm, никаких компромиссов в этом вопросе жесткие диски давно стали узким местом, а емкости 36 Гбайт будет вполне достаточно. Диск будет всего один: RAID-массивы в рабочих станциях на стыке веков еще прочно ассоциировались с серверами и только в системах обработки видео начинали занимать свою нишу.

Под стать диску будет и оптический привод: он тоже должен использовать шину SCSI. DVD пока избыточен широкое распространение дисков начнется через пару лет, а вот возможность записи уже крайне востребована. А самые лучшие устройства записи в то время выпускал Plextor. Именно они долгое время были самыми быстрыми и надежными, в них впервые появились многие новые технологии, впоследствии ставшие стандартными: защита от опустошения буфера, overburn возможность записать на диск немного больше данных, чем заложено стандартом. На самом деле дисковод куплен заранее и специально отложен под этот проект. Это Plextor PX-W1210TS, внутренний SCSI-привод CD-RW с возможностью записи на скорости 12х, перезаписи 10х и чтения 32х.


Пригодится и возможность долговременного хранения больших объемов данных, для этого заложим в проект стример накопитель на магнитной ленте. Разумное соотношение цены и емкости обеспечивают накопители стандарта DDS-3, вмещающие до 12 Гбайт на кассету (до 24 Гбайт с учетом сжатия). В 1999 году появился новый стандарт DDS-4, поднимающий планку до 20 Гбайт на кассету (40 Гбайт с учетом сжатия). Но приводы еще очень дороги это удел серверов, а не рабочих станций. Можно еще установить ZIP-драйв или магнитооптический привод, но это, пожалуй, будет уже излишеством.

Остановимся на вышеперечисленном. Для всего этого понадобится хороший SCSI-контроллер. Самыми надежными и беспроблемными контроллерами этого периода были девайсы от Adaptec 2940U2W (Ultra 2, до 80 Мбайт/сек) и 19160 (Ultra160, до 160 Мбайт/сек). На одном из вариантов и остановлю свой выбор.

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

Существовали и другие похожие форматы для записи семплированной, трекерной музыки XM, MOD, S3M. Вокруг них сложилась целая субкультура, связанная в том числе с демосценой. Об этом мы рассказывали в одной из прошлых статей. Теперь же наступила эпоха MP3 и прежние форматы стали не так уж актуальны. Возросла и мощность процессоров и доступное для хранения данных место. Поэтому рассматривать ISA карты с аппаратной реализацией MIDI не станем, хотя AWE32/64 были бы одним из лучших решений для машины эпохи Pentium Pro.

В моду входит объемный звук и эффекты позиционирования в играх. В первом случае одно из лучших решений A3D от Aureal, доступное в картах на чипах Vortex/Vortex 2, во втором API EAX от Creative, которое наиболее полно раскрывается в картах серии Sound Blaster Live! В общем случае качество звука сравнимое, но мои симпатии на стороне Creative.


Остается всего два слота, в PCI установим сетевую карту. Intel PRO/100 отличный выбор, но сильную конкуренцию этим картам создает 3Com с серией 3C905B/C. Здесь поступим просто: какая из этих карт первая попадется в коробке с сетевыми принадлежностями, ту и поставим. А вот слот ISA занять и нечем. Можно, конечно, найти модем USRobotics Courier ISA, но общественное мнение в те годы было на стороне внешних модемов, подключающихся к COM-порту.


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

А теперь мы попробуем со всем этим взлететь вспоминаю старый анекдот. Да, для такой системы нужен соответствующий блок питания. И это тот случай, когда даже очень мощный современный блок не подойдет. Большинство блоков питания, выпущенных после 2001-2003 года, выдают максимальный ток по линии +12 В, в то время как раньше основная нагрузка была на пятивольтовую линию. Такой источник питания нам и нужен.

Крайне желательно использовать блок хорошего производителя, чтобы быть уверенным в его качестве и спустя 20 лет. При этом мощности в 300 Ватт будет вполне достаточно. У меня был отложен для этого проекта блок питания от серверного корпуса Intel Columbus, это отличный вариант. Максимальный ток по линии +5В составляет аж 40А.

Воплощение: поиски, сборка и отладка


Как я уже упомянул выше, проект зрел очень долго, и триггером для его старта была появившаяся на известной доске объявлений плата Supermicro S2DGE. Это младшая версия платы, она не имеет дополнительных встроенных контроллеров, в отличие от ближайшей родственницы S2DGU, несущей на борту контроллер шины SCSI и делящей с S2DGE дизайн PCB. До этого я упустил MS440GX, удивившись высокой цене, сравнимой с актуальными домашними решениями средне-верхнего уровня.

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

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

Коллега сразу предупредил, что платы Supermicro этой серии не поддерживают ACPI, так как проектировались еще в 1998 году в соответствии с требованиями Windows NT 4.0 основной системы для рабочих станций на основе архитектуры x86. Она с трудом поддерживала APM, а об ACPI представления даже не имела. Напомним, что отдавать команду на выключение питания в системах с APM эта система умела только при установке патча от Hewlett-Packard.

В части случаев помогает установка драйвера NT APM/Legacy Interface Node и небольшие манипуляции с реестром, но, как оказалось, это работает только с однопроцессорными системами и не совместимо с MPS-совместимым ядром. Поэтому такая забавная особенность и останется при выключении будет появляться знаменитая надпись Теперь питание компьютера можно отключить.

Несмотря на все эти особенности, решение принято, плата куплена и направляется в Петербург. Два дня пути, и она у меня в руках. Для теста заблаговременно вытащен процессор из сервера IBM Netfinity 7100, там как раз подходящий Pentium III Xeon 700 МГц, с напряжением питания 2.8 В (бывают версии с питанием 5/12В, такие использовались в основном в брендовых машинах) и кэшем 1 Мбайт. Тест успешен плата жива, процессор, как и заявлено, поддерживается. Но есть нюансы

Во-первых, плата ругается на микрокоды Supermicro решили не добавлять их в последний публично доступный BIOS, в FAQ на сайте компании упоминается обновленная версия для поддержки процессоров на ядре Cascades, но публично она не доступна. Техподдержка им поделиться не может за давностью лет. Во-вторых, неправильно определяется частота 550 МГц, как у последней модели на предыдущем ядре Tanner.

Первое победить так и не удалось нужно пересобирать BIOS, а пока программатора в моем арсенале нет не рискну. А вот второе, хоть я изначально тоже грешил на BIOS, оказалось проще. После установки ОС стало понятно, что частота неправильно установлена CPU-Z показал те же 550 МГц. Ох, невнимательность! Коллега деликатно подсказал мол, достаточно изучить инструкцию и даже подсказал, куда конкретно заглянуть. Множитель у этих процессоров оказался не залочен, в отличие от десктопных собратьев, его необходимо задавать джамперами. После переключения множителя с 5.5 на 7 все встало на свои места и частота, и производительность системы.

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

В принципе в продаже были даже довольно редкие 900 МГц процессоры, вышедшие последними уже в 2001 году, но они не укладываются ни во временные рамки, ни в бюджет их цена была в среднем в 5(!) раз выше, чем на выбранный 700/2М вариант. Поиски и принятие решения заняли всего один день в результате были приобретены процессоры от сервера IBM с радиаторами стандартного размера, не выступающими за пределы картриджа. Подошли они идеально, и можно продолжать поиски комплектующих!

Собственно, на момент покупки платы и, соответственно старта проекта, часть комплектующих уже была в наличии: корпус, блок питания, жесткий диск, оптический привод и стример. Благодаря этому минимальная версия будущего компьютера мечты запущена запущена довольно быстро пока в нем всего 512 МБайт памяти (пара планок по 128 МБайт прибыли бонусом с материнкой, еще 256 нашлось в моих закромах) и SCSI-контроллер времен Pentium Pro модель Adaptec 2940UW.

Сразу же решил и вопрос с охлаждением. Процессоры Slot2 рассчитаны на использование пассивных радиаторов с внешним обдувом. Supermicro предлагает использовать 40 мм вентиляторы для продувки пространства между процессорами. Для обдува радиатора второго процессора решение не предусмотрено. В моем проекте используется обычный корпус, в котором не предусмотрено формирование воздушных потоков, как это сделано в специализированных корпусах для рабочих станций и серверов. В нем есть два посадочных места для 80мм вентиляторов по одному на передней и задней стенке. При этом задний вентилятор находится ровно напротив процессоров. Берем вентилятор от сервера IBM с небольшим воздуховодом и направляем поток воздуха аккурат на оба радиатора. Распределение потока практически поровну между процессорами.

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

Определенные приключения вышли с памятью. Изначально четыре планки по 512 Мбайт SDRAM, другой коллега по увлечению согласился обменять на такое же количество 2 Гбайт планок DDR2. К сожалению, одна из них работала не стабильно. Скорее всего причина в ее нестандартной организации двухсторонней однобанковой. На помощь пришло внимательное перечитывание даташита чипсет 440GX поддерживает регистровые модули, в том числе и гигабайтные. Ограничение действует на объем чипа, а не модуля. В итоге из запасов была извлечена пара 36-чиповых планок производства Kingston на микросхемах объемом 256 Мбит. Они заработали без единой проблемы и сэкономили массу времени.

С немалой долей везения удалось договориться о покупке видеокарты Elsa Gloria II выручил тот же коллега по увлечению, у которого была приобретена материнская плата. Видеокарта с именем принцессы основана на первой версии чипа Quadro, аналоге GeForce 256, и несет на борту 64 Мбайт SDRAM памяти, подключенной к GPU через 128-битную шину. Второй успех из теплого Сочи вот-вот отправится механизм фиксации процессоров (компанию ему составят запчасти для другого проекта реставрации сервера HP NetServer LH Pro). Найден и SCSI-контроллер новый, нераспакованный Adaptec 19160 из чьего-то ЗИП.

Очень повезло со звуковой картой. Узнав о проекте, друг, держащий магазин железа секонд-хенд, подарил отличный экземпляр Creative SB Live! Platinum (модель CT4760). Эта карта имеет позолоченные, а не окрашенные аналоговые разъемы и черный порт для джойстика. Мелочь, а смотрится весьма стильно. Из собственных запасов взяты сетевая карта 3Com Etherlink 10/100 и модем культовый USRobotics Courier V.Everything, также известный как Большой черный Курьер.

Незадолго до старта проекта мне посчастливилось приобрести три карты Voodoo 2 с пометкой некогда тестировать за очень скромную сумму. Самое удивительное, что две из трех карт оказались работоспособны. Обе версии с 12 Мбайт видеопамяти, но от разных производителей. Одна Orchid Righteous 3D II, другая более редкая Gainward Dragon 3000. Впрочем, при более внимательном тестировании карта от Gainward показала наличие проблем работает только один TMU (блок текстурирования) из двух.


Починить карту не удалось, а поиски и покупка новой (и желательно идентичной первой) вне бюджета и по времени, и по финансам. Так что придется обойтись одной. По производительности это сильно не ударит, но ограничит разрешение до 800х600. Со временем, скорее всего, карту я все же приобрету и установлю, но уже не в рамках этой статьи.

Сеанс ностальгии


Установка операционной системы и софта проблем не вызывает. В Windows 2000 уже есть драйверы для большинства устройств, но для скоростного SCSI-контроллера придется приготовить дискету с драйвером и нажать F6 при загрузке с установочного диска. После установки системы необходимо установить драйверы для видеокарты и 3D-ускорителя. Опционально для звуковой карты, штатный драйвер не позволяет использовать все ее возможности.

Кроме Windows 2000, полноценно работать смогут OS/2 Warp (придется использовать серверную версию Warp Server for e-Business или eComStation/SMP), Linux (оптимально Red Hat Linux 7.3 или 8.0), FreeBSD. Для этих систем большого смысла в профессиональной 3D-карте нет. На мой взгляд, лучшим выбором стала бы Matrox G450 Dual Head. Voodoo станет если не бесполезным, то очень узко применимым поддержка его в Linux ограничена, а в OS/2 отсутствует. Зато в этих системах нормально поддерживается APM будет работать программное отключение питания. Можно было бы выбрать Windows NT 4.0, но, будучи отличной рабочей системой, она имеет весьма ограниченную совместимость с играми.

Что можно делать на этой машине? Да что угодно! Основное, пожалуй, это игры. Игры тех лет не могли похвастаться картинкой фотографического качества и глубиной погружения, им приходилось привлекать аудиторию интересными и необычными сюжетами, проработкой игровой механики. За это многие любят их до сих пор. А некоторые игры просто вызывают ностальгию Quake II, в который рубились на каждой перемене в компьютерном классе, или Герои Меча и Магии, к которым приучила девушка, с которой встречался в 15 лет. Кто-то найдет удовольствие в возможности вспомнить рабочие инструменты двадцатилетней давности Delphi 6, Photoshop 6.0, Premiere 5.1 и другие. Главное найти то, что подарит эмоции именно вам!

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

  • Windows 2000 Professional одна из самых удачных версий Windows;
  • Borland Delphi 6 первые шаги в программировании;
  • Netscape 6 окно в большой интернет;
  • Adobe Photoshop 6.0 тот самый;
  • Дальнобойщики 2 культовая игра, Made in Russia!
  • Quake 2 без комментариев;
  • Quake III на тот момент очень модная стрелялка!
  • Heroes of Might and Magic III игра вне времени!

Много скриншотов с компьютера мечты
Рабочий стол ОС

Свойства системы

Photoshop 6.0

LabView 6.1

Delphi 6

Netscape 6

Герои меча и магии III Возрождение Эрафии

Герои меча и магии III Возрождение Эрафии

Установка Quake II


Quake II

Quake III Arena

Дальнобойщики 2 загрузка

Дальнобойщики 2 первый рейс. Тогда эта графика казалась великолепной!

Заключение


Подведем итог и заодно дадим машине мечты имя. По традиции коллекции Digital Vintage сборки высокого уровня именуются SERVERGHOST Constellation, так будет и в этот раз.

Итак, встречайте: SERVERGHOST Constellation X6! Финальная спецификация:

  • 2 процессора Pentium III Xeon 700 МГц c 2 Мбайт кэша
  • 2 Гбайт оперативной памяти SDRAM
  • Материнская плата Supermicro S2DGE
  • Видеокарта ELSA GLoria II (nVidia Quadro) 64 Мбайт SDR
  • Графический ускоритель Orchid Righteous 3D II (3Dfx Voodoo 2) 12 Мбайт
  • Жесткий диск Seagate Cheetah 36 Гбайт 15000 rpm SCSI
  • CD-RW Plextor PX-W1210TS SCSI
  • Стример Compaq DDS-3 SCSI
  • SCSI-контроллер Adaptec
  • Звуковая карта Creative Sound Blaster Live! (CT4760)
  • Сетевая карта 3Com Etherlink 10/100
  • Внешний модем USRobotics Courier V.Everything

Вывод диагностической программы AIDA64

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

Бюджет или пост скриптум


Пожалуй, этот раздел добавить необходимо. Машина получилась интересная и, возможно, кого-то эта статья вдохновит на сборку похожей системы. Самое главное понять, готовы ли вы потратить деньги и время на машину, которая, скорее всего, принесет вам только удовольствие, но вряд ли когда-либо окупится использовать ее как рабочий инструмент не получится, ее время прошло.
Позиция Диапазон цен Кол-во Фактические затраты
Корпус Inwin H500 500-2000 1 шт. 1500
Плата Slot2 c AGP Supermicro S2DGE 12000-25000 1 шт. 16000
Процессор Pentium III Xeon 700/2M 2000-3000 2 шт. 4000
Память 1 ГБайт Reg. SDRAM 500-3000 2 шт. 1000 (обмен)
Видеокарта Nvidia Quadro 2500-6000 1 шт. 3000
Видеоускоритель 3Dfx Voodoo 2 12 Мбайт 5000-12000 1 шт. 1500
Звуковая карта SB Live! SB4760 500-3000 1 шт. бесплатно
SCSI-контроллер Adaptec 19160 1500-2000 1 шт. 1500
Сетевая карта Intel Pro/100 100-500 1 шт. бесплатно
Блок питания Delta 300 Вт 200-2000 1 шт. 300
Жесткий диск 36 Гбайт SCSI 200-2000 1 шт. 350
Оптический привод CD-RW SCSI 1000-10000 1 шт. 1500
Стример DDS-3 SCSI 500-10000 1 шт. 600
Модем USRobotics Courier 0-3000 1 шт. бесплатно
Итого: 31250
Как вы можете заметить, местами мне изрядно везло. В поисках ретрожелеза самое важное внимательность и терпение, а также общение с продавцами. Интересные предложение, особенно по низким ценам, уходят быстро. Часто продавцы ставят цены, которые видят в объявлениях (и товары по этим ценам висят месяцами, а зачастую и годами), а не те, по которым товар реально продается. Как правило, с ними можно договориться о компромиссе.

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

Если не гнаться за максимальными спецификациями, а взять предтоповые комплектующие, можно сэкономить иногда в разы. Например, как уже сказано выше, 900 МГц процессоры стоят в несколько раз дороже 700 МГц, но их производительность отличается примерно на 20%. Впрочем, в данном случае их выбор обусловлен еще и необходимостью соблюсти временные рамки.

Подумайте, стоит ли сразу собирать компьютер мечты? Для первого ретрокомпьютера можно использовать более распространенные комплектующие обычный Pentium III (1000 МГц Coppermine немного уступит 700 МГц Xeon, а модели на ядре Tualatin с 512 Кбайт кэша могут сравниться и 900 МГц моделью). Да и необходимость в двухпроцессорной системе есть далеко не всегда: самые популярные ностальгические системы линейки Windows 95/98/Me просто не умеют использовать второй процессор.

Подробнее..

Подключаем SSD форм-фактора М2 к материнке, у которой нет разъема М2 и делаем этот SSD системным. Танцы с бубном

02.04.2021 16:10:53 | Автор: admin

Предыстория

Давным-давно, когда в мире жестких дисков только стали появляться твердотельные, я, как все прогрессивное человечество, озаботился приростом производительности посредством этой самой твердотельности носителей. Был куплен недорогой SSD марки Vertex, объемом 120 Гб и с успехом водружен в потроха компьютера. Не помню уже как туда заливалась система (и какая), с трудностями или без, но прирост скорости ощутился конкретно. К диску прилагалась наклейка со словами My SSD is faster then your HDD, что грело обладателя сего девайса.

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

А тут еще мне попалась статейка о том, что оказывается пропускная способность у шины PCI Express огого, а используется она как-то неправильно.

А тут еще появилась память форм-фактора М2 с какими-то бешенными цифрами по доступу

Судите сами:

SSD Kingston A2000 250GB SA2000M8/250G M.2, PCI Express 3.0 x4, контроллер Silicon Motion SM2263EN, микросхемы 3D TLC NAND, последовательный доступ: 2000/1100 MBps, случайный доступ: 150000/180000 IOps

Kingston потому что в два раза дешевле самсунга, а ежели не видно разницы, то зачем платить больше

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

А еще я нашел, как кто-то уже проделал такой финт ушами и мне осталось только повторить. Причем агрейдили на моей материнке Ежели кому интересно, смотрим здесь.

а здесь еще и видос можно посмотреть на эту же тему

Казалось бы, все просто! Но не тут-то было

История

Был скачан новый биос, модифицирован для М2 по инструкции, все подготовлено, осталось дождаться переходника от китайцев М2 -> PCIExpress.

Пришел переходник. Все собрал, воткнул Биос видит диск, система не видит Оказалось, забыл проинициализировать. Ну ладно, заходим в управление компьютером в раздел управление дисками и там инициализируем. Это для таких, как я, забывчивых

Ура, система видит диск! Ну все, готовим загрузочную флеху, заливаем десятую винду

И в этом месте обнаруживается, что установка винды на данный диск невозможна Потому как выбранный диск имеет стиль разделов MBR

Ну ладно. Во время инициализации можно сделать стиль GPT. Опять лезем в инициализацию устанавливаем стиль разделов GPT, заливаем десятую винду

И в том же месте обнаруживается, что установка винды на данный диск невозможна Потому как выбранный диск имеет стиль разделов GPT (оказывается, это тоже противопоказание!) А еще в биосе типо нету какого-то драйвера для этого диска Впадаем в ступор

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

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

В ступоре долго сидеть не рекомендуется, посему надо искать какой-то выход.

Случайно на разорванной упаковке от кингстоновского диска нахожу Softwate Activation Key для Acronis True Image HD О, эта же приблуда умеет клонить диски. В том числе и с системой.

Ну думаю, сейчас клонирую старый диск на новый и вуаля

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

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

Более того, Acronis разфигачил диск 250 Гиг на тома на 120 Гиг (старая система) и остаток, еще 130 Гиг И соединить их обратно никак

После гугления находим несколько неработающих способов, но в конечном итоге помог этот:

Запускаем командную строку от имени администратора.

В командной строке вводим diskpart

Выводим список дисков при помощи команды list disk

Запоминаем номер нужного диска, и вводим select disk *, где вместо звёздочки вводим нужный номер.

Выводим список разделов - list partition

Тут находим раздел восстановления, запоминаем его номер и вводим select partition * вместо звезды номер раздела.

Наконец, вводим команду delete partition override после неё раздел будет затёрт.

Все эти манипуляции на Ваш страх и риск! Удалите не тот раздел - система не запустится!

Фух Сработало! Объединяем диск в первоначальный объем. Думаем, что дальше делать Продолжаем гуглить И тут я натыкаюсь на вот этот вот видос:

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

Во-первых, использование программы Bootice, о которой я даже никогда не слыхал. Она понадобилась для переформатирования диска М2 для дальнейшего его использования в UEFI BIOS платформах. В этой проге создается так называемые ESP раздел (EFI System Partition) или загрузочный том. В видосе показано, как это делается. Появилась надежда, что раз диск форматируется таким специальным образом, то может он все-таки запустится

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

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

После установки некоторых дополнительных параметров программы запускается заливка Винды на новый SSD формата М2. По окончании процесса WinNTSetup попросит перезагрузку.

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

После загрузки должна начаться стандартная установка Windows 10. Во всяком случае у меня так было. Система встала без сучка и задоринки! Теперь у меня на диске С 250Gb на достаточно шустром SSD. Надеюсь хватит на ближайшие 4 года. А также надеюсь, что изложенное кому-то поможет не наступать на мои грабли. Всем удачи!

Подробнее..

Перевод Когда дефицита GPU ещё не было

09.04.2021 12:18:12 | Автор: admin


Большую часть времени GPU были не важны


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


Реклама Tektronix Interactive Graphics, предполагаемого предшественника технологий GPU. Но так ли это на самом деле?

Пока Windows и Apple приучали публику к своим заточенным под мышь интерфейсам, хардкорным пользователям компьютеров, то есть геймерам, нужно было, чтобы действия мыши регистрировались намного быстрее. А ещё они хотели, чтобы графика была более реалистичной. Затем они стали просить такие функции, как онлайн-мультиплеер, мгновенный обмен сообщениями и множество других возможностей, которые сегодня воспринимаются как должное, но в первой половине 90-х казались чем-то значительным.

Можно было бы заявить, что технически сложному геймплею мы обязаны классическому Doom 1993 года, а также его потомку Quake, вызвавшему интерес пользователей к специализированным графическим картам. Однако пообщавшись со специалистом, наблюдавшим за развитием этой отрасли с самого начала, можно прийти к выводу, что история GPU не была такой уж простой.

Доктор Джон Педди впервые занялся компьютерной графикой в 1960-х. Он находился в составе команды, создававшей топографические 3D-карты по снимкам аэрофотографии, что в дальнейшем привело к созданию его собственной компании Data Graphics. К началу 1980-х он задумался об уходе на пенсию и карьере писателя научной фантастики, но заметил в этой отрасли бум, который сложно было игнорировать. Практическое применение высокопроизводительной графики изначально развивали компании, занимавшиеся CAD и GIS, однако взрывной рост популярности видеоигр в 80-х изменил эту ситуацию.

Игры были (и остаются) локомотивом отрасли благодаря количеству потребителей, сообщил мне Педди в электронном письме. Среди пользователей 3D и GPU были инженерные компании (CAD и молекулярное моделирование), а также киноиндустрия. Но в 80-х и 90-х на этом рынке было примерно 100 тысяч покупателей. А рынок потребительского 3D исчислялся миллионами пользователей. Однако рынок профессионалов платил больше тысячи или десятки тысяч долларов, в то время как потребители платили всего несколько сотен. То есть задача заключалась в том, чтобы встроить достаточную мощь в чип, который в готовом продукте продавался бы за сотни долларов.

На этом этапе истории компьютеров в техническом лексиконе появилась аббревиатура GPU. В статье в журнале Computerworld за 1983 год подробно описывается линейка графических терминалов Tektronix. Но если приглядеться, GPU пока расшифровывается не как graphic processing unit, а как graphic processor unit. Есть ли какая-то разница? На самом деле, GPU не существовало до 1997 года, пусть даже и использовалась похожая аббревиатура. Оказывается, для настоящего GPU обязателен движок трансформации и освещения (transform and lighting, T&L).

Почему термином GPU нельзя называть графический чип или плату, разработанную до 1997 года? Он отрисовывает графику (хоть и только в 2D-пространстве). Обрабатывает ли он графику? Да, в каком-то смысле. Он отрисовывает отрезки и окружности это и есть обработка (processing). Важное отличие заключается в том, что GPU должен быть способен на истинное 3D (а для этого требуется T&L).


Графический 3D-чип Glint компании 3Dlabs, по мнению некоторых, первой создавшей истинный GPU. Он был выпущен в ноябре 1994 года и активно применялся в "мощных 3D-приложениях CAD" (по-прежнему не первый настоящий GPU, но всё равно интересный графический чип). Несмотря на то, что 3Dlabs первой появилась на рынке, она не смогла воспользоваться экономическими масштабами, доступными для её конкурентов, например, Nvidia.

Право первопроходца забирают себе победители


Давайте для начала разберём распространённую ошибку. Оборудование первой PlayStation не было первым GPU на массовом рынке. Такое мнение возникло благодаря мощному маркетингу Sony и Toshiba. Как говорит Педди, У первой PlayStation был движок трансформации геометрии (geometry transformation engine, GTE), являвшийся сопроцессором 2D-чипа, и ошибочно названый (маркетологами) GPU.

Маркетинг был важным элементом той эпохи, то есть незадолго до того, как GPU впервые начали появляться. Создание истинного GPU для 3D было далёким горизонтом, и многие компании хотели добраться до него первыми. Однако эту честь первой получила небольшая контора из Великобритании под названием 3Dlabs. Инновацией, давшей продукту 3Dlabs титул первого настоящего GPU, стала разработка графического процессора из двух чипов, содержавшего обработчик геометрии, называемый движком трансформации и освещения (T&L). В отличие от своих конкурентов, 3Dlabs делала упор на рынок CAD, хоть и пыталась вторгнуться на крупный потребительский рынок, заключив партнёрское соглашение с Creative Labs.


Технологическое демо с показом возможностей чипсета 3Dlabs Glint.

Малый размер 3Dlabs и её специализация на профессиональном рынке означали, что на рынке потребительских GPU появится множество первопроходцев.

Сектор графических карт в тот период был невероятно активен, за благосклонность игроков в Quake сражались такие крупные компании, как Matrox, S3 и 3Dfx.

Но историю пишут победители, и в этот период возник лидер рынка. К концу 1999 года Nvidia была готова выпустить свой первый массовый потребительский GPU с интегрированным T&L, называвшийся GeForce 256.

Так, по мифологии Nvidia, появился GPU, и компания утверждает, что именно она изобрела его, говорит Педди. То есть историю можно перекраивать, как тебе угодно. Nvidia стоит 10 миллиардов долларов и на пути к 50 миллиардам, а о 3Dlabs никто не помнит.

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

Довольно скоро рынок заполнился конкурирующими GPU, каждый из которых стремился занять собственную рыночную нишу. Канадский производитель ATI Technologies, которого позже приобрёл крупнейший конкурент Nvidia компания AMD, попытался обособить свою продукцию на рынке, назвав свои GPU аббревиатурой VPU (video processor unit), хотя на практике они ничем не различались. Но это название не прижилось.

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

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


Узрите! Один из самых желанных продуктов в мире. И это ведь даже не самая мощная карта в линейке.

Так кого же винить в этом дефиците GPU?


Если вы так далеко углубились в статью об истории и названиях GPU, то вам наверняка интересно, когда я доберусь до Великого дефицита GPU 2020 года (который, вероятно, будет длиться и дальше).

Вкратце для тех, кто не понимает, о чём я говорю: за последние месяцы цена мощных GPU взлетела до небес и их даже невозможно найти в продаже.

Например, у Nvidia есть три модели графических карт, которые обычно стремятся приобрести геймеры:

  • RTX 3090: рекомендуемая производителем розничная цена 1499 долларов
  • RTX 3080: рекомендуемая цена 699 долларов
  • RTX 3070: рекомендуемая цена 499 долларов

Можно спорить о соотношении цены и производительности этих моделей. Однако дефицит вызвал рост стоимости этих GPU на рынке перепродажи. На данный момент цена средней по мощности из трёх карт RTX 3080 равна 1499 долларов, в то время как 3090 и 3070 практически невозможно найти. Один из лотов 3090 продаётся на eBay за более чем 3000 долларов.

Здесь также стоит упомянуть линейку графических карт AMD. Несмотря на не столь высокий спрос, поскольку традиционно они были не такими мощными, на карты AMD тоже повлияли ограничения цепочки поставок производства GPU. Как и в случае с линейкой Nvidia, модели AMD RX 6700, 6800 и 6900 тоже выросли в цене на вторичном рынке в два с лишним раза.

Немного забавного контекста в моём старом Xeon установлена refurbished-версия AMD RX 570, за которую я в середине 2019 года заплатил чуть больше 100 долларов. Та же самая карта, которая, по сути, является бюджетной моделью и уже слегка устарела на момент моей покупки, сейчас продаётся за 599 долларов.

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


График, описывающий текущее состояние отрасли GPU. (Автор Джон Педди)

Тем не менее, такое объяснение слишком упрощает тенденции процессов, начавшихся в отрасли графических карт ещё задолго до COVID-19. Послушаем доктора Педди:

Примерно пятнадцать лет назад сложился конвейер производства GPU: разрезание кремниевых пластин, тестирование, упаковка в корпуса, повторное тестирование и доставка заказчику. Все компании в этом конвейере, а также ниже по потоку (OEM-клиенты, имевшие похожий конвейер), искали способы более быстрого реагирования и в то же время минимизации своих материально-технических ресурсов. Так была разработана модель производства JIT (just in time, точно в срок). Она предполагала, что все в цепочке поставок дают точные прогнозы, а значит, и делают точные заказы. Если сломается одно звено цепи, то пострадают и все последующие Когда правительства объявили карантин в своих странах, всё производство остановилось, перестали поставляться детали, конвейер был сломан. И когда (если) производство восстановится, то для полной синхронизации потребуется ещё несколько месяцев.

В то же время людей отправили работать из дома, а у них не оказалось необходимых для этого инструментов. Так возник спрос на PC, и в особенности на ноутбуки. В 30-40% PC установлено два GPU, то есть спрос на GPU увеличился ещё сильнее.

А затем начался рост стоимости криптовалют Теперь майнеры (люди, использующие GPU для зарабатывания крипто) стремились скупить каждый доступный им GPU. Это вызвало спекуляции люди покупали все графические карты и продавали их по как можно более высокой цене.

То есть по цепочке поставок ударил спрос, а предложение не увеличивалось.

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

Ещё одним фактором разочарования стало время появления в 2020 году нового поколения видеоигровых консолей, а значит, и нового поколения видеоигр. Долгожданная PlayStation 5 вместе с Cyberpunk 2077 встретились в момент выпуска со множеством технических проблем и проблем с поставками. Игроки в Cyberpunk жаловались на то, что производительность игры сильно зависела от оборудования, на котором она была запущена. О различиях игрового процесса на PS4 и на PS5 один ютубер сказал так: По крайней мере, на PS5 она играбельна.

Хотя доктор Педди ожидает, что проблема дефицита разрешится к первому кварталу 2022 года (ура), он не особо оптимистичен относительно того, будет ли отрасль избегать подобных накладок в будущем.

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

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

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

В конце концов, сегодня устройство, не обладающее реалистичной 3D-графикой, и телефоном-то мало кто назовёт.



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


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

Подробнее..

Категории

Последние комментарии

© 2006-2021, personeltest.ru