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

Процессоры

Начинаем работу с Zynq 7000. Пособие для начинающих

29.05.2021 18:19:27 | Автор: admin

Совсем недавно мне в руки попался один из вариантов отладочной платы с SoC Zynq XC7Z020. Поискав в Интернете материалы, а-ля how-to, и попробовав накидать свой минимальный проект обнаружил, что есть целый ряд подводных камней. Именно об этом я и хотел бы рассказать в статье. Кому интересно - добро пожаловать под кат.

Важно! Перед началом повествования, хотелось бы заранее оговориться, что основная цель которую я преследую при написании этой статьи - показать любителям, с чего можно начать, при изучении отладочных плат на базе Zynq. Я не являюсь профессиональным разработчиком под ПЛИС и SoC Zynq и могу допускать какие-либо ошибки в использовании терминологии, использовать не самые оптимальные пути решения задач, etc. Но любая конструктивная и аргументированная критика только приветствуется. Что ж, поехали

Что за отладка такая? Покажи-расскажи...

Мне очень давно хотелось поиграться с SoC Zynq, но никак не доходили руки. Но в очередной раз погуглив - увидел, что за вполне вменяемый ценник продаётся отладка с Zynq на борту, от компании QMTech, называется она Bajie Board. Выпускается отладка в нескольких вариантах с разными вариантами SoC Zynq. Я выбрал для себя вариант на XC7Z020 и тут же ее заказал, через пару недель она у меня уже была в руках.

После распаковки я был приятно удивлен, комплект поставки порадовал. Это была сама отладочная плата, блок питания на 5В/2А, mini-USB кабель и microSD Flash-карта SanDisk на 16Гб с уже залитым на нее Linux. То есть, сразу после получения вы можете подключить к плате питание, воткнуть USB-шнурок, открыть Putty и получить в свое распоряжение полноценный mini-компьютер с Embedded Linux. О Linux для Zynq, я думаю, расскажу в другой статье, поэтому едем дальше...

Итак, рассматривая плату и попутно документацию на нее я увидел относительно не плохой набор всякого-разного:

  • SoC: XC7Z020-1CLG400C

  • (datasheet:https://www.xilinx.com/support/documentation/data_sheets/ds190-Zynq-7000-Overview.pdf);

  • Осциллятор на 33,333 МГц;

  • Оперативная память DDR3 на 512 Мб от компании Micron, MT41K256M16TW-107:P;

  • Встроенный слот micro SD;

  • Источник питания для FPGA TPS563201 с широким диапазоном входных напряжений (от 4.5V до 17V, 3A);

  • Один 50-пиновый и две Digilent PMOD совместимых, гребёнки с пинами, с шагом в 2,54 мм. для пользовательских кейсов (как заверяет производитель, все проводники до пинов выровнены по длине);

  • Кнопка для логического сброса процессорной системы (PS);

  • Гигабитный RGMII Ethernet-контроллер Realtek RTL8211E-VL, подключенный к PS;

  • Два пользовательских светодиода, один подключен к программируемой логике (PL) и другой подключен к процессорной системе (PS);

  • Встроенный HDMI-совместимый интерфейс дисплея TI TPD12S016;

  • Гребёнка для подключения JTAG-отладчика;

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

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

Установка необходимого набора ПО для разработки

Итак, прежде чем начать работу с платой мне было необходимо установить ПО Xilinx Vivado и Xilinx SDK. Насколько я понимаю, грубо говоря, Vivado используется для конфигурации аппаратной части используемой платы и для работы с программируемой логикой. А Xilinx SDK (ныне именуется Vitis) используется для создания кода непосредственно для процессорной системы.

Поскольку бОльшая часть примеров из документации и репозитория производителя и разнообразных примеров из роликов на YouTube делались в версии Vivado 2019.1 (видимо из-за того, что это последняя версия поддерживающая работу с Xilinx SDK) - я установил именно её, а не последнюю доступную 2020.2.

Все программные продукты необходимые для работы с Xilinx Zynq - можно взять на официальном сайте Xilinx, тут. Сразу же спешу обратить внимание, что те из вас, кто захочет установить самую новую версию Vivado - нужно скачивать версию 2020.2, а не 2020.3 т.к. последняя поддерживает только Versal SoC, и не поддерживает Zynq.

В моём случае, т.к. я работаю в операционной системе Linux - я перешел в меню Vivado Archive - 2019.1 и нажал на кнопку скачивания по ссылке Vivado HLx 2019.1: WebPACK and Editions - Linux Self Extracting Web Installer в списке Vivado Design Suite - HLx Editions - 2019.1. Для пользователей Windows - выбирайте Windows Self Extracting Web Installer.

После скачивания открываем инсталлятор, установив права на исполнение:

chmod +x ~/Downloads/Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin~/Downloads/Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin 

Вся установка состоит из набора стандартных шагов.

  1. Вводим авторизационные данные, которые мы указывали при регистрации;

  2. Принимаем условия лицензионных соглашений;

  3. Выбираем Vivado HL WebPACK;

  4. Удостоверяемся в том, что выбран SoC Zynq в списке предложенного оборудования.

  5. Далее программа скачает порядка 16Гб всякого-разного, установит это и на Рабочем столе появятся иконки нужных нам приложений.

После установки Vivado необходимо установить драйвер для JTAG-программатора. В Linux это делается так:

cd Xilinx2019.1/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/sudo ./install_drivers 

Подключаем все 6 пинов от JTAG-программатора в соответствии с шелкографией на плате. И проверяем установлены ли драйвера и определяется ли наша отладочная плата:

cd ~/Xilinx2019.1/Vivado/2019.1/bin./xsdb xsdb% connect -host localhost   xsdb% jtag targets                                                                                                                                                             1  Platform Cable USB 13724327082b01     2  arm_dap (idcode 4ba00477 irlen 4)     3  xc7z020 (idcode 23727093 irlen 6 fpga)

На этом подготовительных этап можно считать завершенным.

Hello, world или Баяны подъехали

Не будем отходить от традиции и попробуем поморгать LED-иком который подключен к программируемой логике.

Запускаем Vivado и создаем новый проект. Нажимаем File - Project - New

Откроется мастер создания нового проекта, нажимаем Next > и пишем название нашего проекта PL-Blink.

Выбираем RTL Project и ставим галочку у пункта Do not specify sources at this time.

Далее в списке ищем наш процессор xc7z020clg400-1.

Жмём на кнопку Finish.

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

Первым делом, мы добавим необходимые указания программе, на то, какие физические ножки мы задействуем в нашей моргающей вакханалии =)

Находим меню Sources и нажимаем кнопку Add Sources.

Откроется мастер импорта и нам нужно выбрать Add or create constraints.

В следующем меню нажимаем Create file и пишем название нашему файлу physical_constr. Именно в этом файле мы опишем какие ножки и в каком режиме должны работать.

Нажимаем кнопку Finish и в дереве Sourсes ищем только что созданный нами файл и открываем его:

Обратимся к схеме, которую любезно предоставил нам производитель и найдем какая ножка отвечает за тактирование, а какая за наш светодиод.Бегло поискав, я отметил для себя, что из Ethernet-контроллера RTL8211E-VL выведен опорный тактовый сигнал с его внутреннего PLL, частотой в 125МГц и заведен в ножку H16 (IO_L13P_T2_MRCC_35).Так почему бы нам его и не задействовать в нашем примере? =)

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

Тут же, рядом, на ножке H17 (IO_L13N_T2_MRCC_35) расположен светодиод, которым мы будем моргать.

Итак. Открыв наш constraints-файл запишем в него следующие строки:

# User LED and Clockset_property IOSTANDARD LVCMOS33 [get_ports led_h17_d4]set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]set_property PACKAGE_PIN H17 [get_ports led_h17_d4]set_property PACKAGE_PIN H16 [get_ports sys_clk]

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

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

Кстати, подробнее о Physical Constraints можно почитать тут в главе 8.

Добавим в наш проект таким же образом Design Source. Находим меню Sources и нажимаем кнопку Add Sources.

Откроется мастер импорта и нам нужно выбрать Add or create design sources. Далее нажимаем Create File, смотрим, что выбран язык Verilog. Нажимаем ОК и Finish.

В следующем меню всё оставляем без изменений и нажимаем ОК и Yes.

Открываем созданный файл и видим небольшую заготовку:

Здесь вместо предложенного кода пишем наш Verilog-код и прокомментируем что значит каждая из строк:

// Директива компилятора, которая определяет единицу времени и точность для моделирования Verilog.// В целом, не очень интересный пункт для нас.`timescale 1ns / 1ps // Определяем стандартный блок-модуль (как класс в С++)module pl_blink(input sys_clk, output led_h17_d4);    // Задаем регистр для хранения записи о текущем состоянии светодиодаreg r_led; // Задаем регистр для хранения значения счётчика, использующегося в задержкеreg [31:0] counter;// Тут мы задаем действия которые должны быть выполнены при старте программыinitial begin    counter <= 32'b0;//  Обнуляем счётчик    r_led <= 1'b0;//  Делаем запись о состоянии светодиодаend// Тут описываем поведенческий блок, который будет реагировать на ниспадающий фронт тактовой частотыalways@(posedge sys_clk)begin    counter <= counter + 1'b1;// Увеличиваем счетчик        if(counter > 12000000)// Если счетчик больше некоторого условного значения    begin        r_led <= !r_led;// Инвертируем запись о значении состоянии светодиода        counter <= 32'b0;// Сбрасываем счетчик    end       endassign led_h17_d4 = r_led;          // Присваиваем текущее состояние ножке (условно)           endmodule

Нажимаем сочетание клавиш Ctrl + S чтобы сохранить код. Смотрим, не подсвечены ли где возможные ошибки. Если нет - то можем приступить к синтезированию, имплементации и генерации бинарного файла который мы потом зальем в нашу плату Zynq и будем наблюдать за морганием светодиода.

Нажимаем кнопку Run Synthesis и дожидаемся завершения синтеза. После окончания программа нам скажет, что синтез успешно завершен и мы можем переходить к следующему шагу:

Выбираем Run implementation и дожидаемся окончания. После выбираем пункт Generate Bitstream для запуска финального этапа:

Тут так же дожидаемся сигнала о том, что всё прошло успешно, выбираем Open Hardware Manager и можем приступать к заливке результата компиляции в нашу плату:

В открывшемся меню Hardware Manager нажимаем кнопку Auto connect, дожидаемся когда произойдет успешное соединение и откроется меню со списком устройств:

В меню слева или через нажатие правой кнопкой по xc7z020_1 в меню Hardware нажимаем пункт Program Device.

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

Программа заливается на нашу плату

И через мгновение на плате загорается светодиод D2, который сообщает нам, что FPGA DONE и в другом конце платы мы видим весело моргающий светодиод. =)

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

Подробнее..

Внедрение DDR5 будет молниеносным к 2026 году новая память займет 90 рынка

16.06.2021 12:16:05 | Автор: admin
Согласно последнему отчету Yole Developments, внедрение новой памяти DDR5 будет происходить, по меркам сегмента, практически молниеносно. Аналитики компании считают, что уже к 2023 году сумма поставки модулей памяти нового поколения превысят $200 млрд, а к 2026 году новая память займет 90% мирового компьютерного и серверного рынка, вытеснив актуальный сейчас стандарт DDR4.



Такой взрывной рост DDR5 связывают с несколькими аспектами.

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

Второе доминирующее положение DDR5 относительно DDR4. Согласно спецификациям, которые были разработаны ассоциацией твердотельных технологий JEDEC, стартовая частота новой памяти составляет 4800 Mhz сейчас это верхнее значение для DDR4. В перспективе нормальной рабочей частотой модуля на широком старте технологии DDR5 будет 5500-6500 Mhz, вплоть до 8400 Mhz в стоке.

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

Спецификации JEDEC были опубликованы чуть менее, чем год назад 14 июля 2020 года. Согласно тогдашнему анонсу JEDEC, спецификация DDR5, по сравнению с DDR4, поддерживает вдвое больший реальный канал, вплоть до 6,4 Гбит/c у DDR5 против имеющихся 3,2 Гбит/c у DDR4.

Одним из лидеров данного направления является корейская компания SK Hynix один из старейших и крупнейших производителей чипов оперативной памяти в мире. Еще в конце 2020 года корейцы представили первые тестовые модули памяти публике и уже тогда характеристики впечатляли. Тогда новая память показала скорость передачи данных в 4,8-5,6 Гбит/c на контакт. Это 1,8 раза больше, чем базовые показатели памяти предыдущего поколения DDR4. Вся эта скорость сопровождается снижением базового напряжения на планке памяти с 1,2 V до 1,1 V.

В новой памяти все так же будет 288 пинов, то есть в это плане DDR5 является преемником стандарта DDR4, но сама распиновка по модулю будет другой.



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

Но только серверным сегментом все не ограничится. Скорее всего, массовый старт DDR5 произойдет в рамках одного года как в бизнес, так и в потребительском сегменте. Еще при выходе последних пользовательских процессоров Ryzen 5ххх, представители AMD заявляли, что следующая линейка процессоров Ryzen 6xxx под кодовым названием Rembrandt на 6 нм архитектуре Zen 3 Refresh выйдет с поддержкой памяти DDR5. В крайнем случае, это произойдет чуть позже, после выхода архитектуры Zen 4.

Учитывая то, что как минимум в России процессоры Ryzen последний год стабильно доминируют в топах продаж (первые 4 из 5 строчек на Яндекс.Маркете по популярности почти всегда заняты процессорами AMD), можно ожидать и массового перехода пользователей как на Ryzen 6xxx, так и на новую память.



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

Intel тоже не собирается сдавать позиции. Ранее планировалось, что процессоры синих с поддержкой DDR5 появятся на рынке в 2021 году вместе с семейством Tiger Lake-H, однако релиз был перенесен на год: первые камни, способные работать с DDR5, будут выпущены на архитектуре Alder Lake в 2022 году.

Важны и объемы новых модулей. Минимальный размер планки нового стандарта 16 Gb, что должно удовлетворить спрос на все больший и больший объем памяти не только в серверном, но и пользовательском сегменте. Сейчас именно 16 Gb является приемлемым минимумом для домашних станций или мощных ноутбуков. Максимальный объем планки памяти DDR5 согласно спецификации JEDEC, будет составлять 256 Gb.

Апгрейд серверной инфраструктуры процесс не самый быстрый. Однако на фоне роста потребности в мощностях дата-центров и развития облачных технологий, прогноз аналитиков Yole Developments может оказаться правдивым. Считается, что рынок ЦОДов сейчас находится на пике своего развития. Главная тройка игроков этого рынка в лице Amazon, Google и Microsoft активно вкладывает деньги в развитие своих облачных технологий, не отстают от них и частные дата-центры, которые предоставляют бизнесу услуги хостинга.

В 2021 году наметился и новый тренд дата-центры от компании Nvidia для осуществления облачных вычислений. Согласно плану Nvidia, их центры обработки данных будут включать графические процессоры, блоки обработки данных (DPU) и процессоры, причем каждая линейка продуктов будет получать обновленную архитектуру каждые два года. На рынке наблюдается рост популярности новых процессоров и уход от старых лошадок Intel к новому оборудованию, в том числе и появление доли рынка у новых AMD EPYC. Всему этому хозяйству потребуется новая быстрая память.

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



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


Наша компания предлагает серверы в аренду с современными процессорами от Intel и AMD под самые разнообразные задачи. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe. Создайте свой собственный тариф самостоятельно в пару кликов!

Подписывайтесь на наш чат в Telegram.

Подробнее..

Перевод Внутри материнской платы анализ технологий, лежащих в основе компонентов ПК

21.05.2021 12:08:14 | Автор: admin

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

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

Итак, начнем

А начнем мы с того, какую роль в ПК выполняет материнская плата. По сути, она служит для:

  • Обеспечения компонентов электропитанием;

  • Обеспечения маршрутов для связи компонентов между собой.

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

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

Существуют отраслевые стандарты по размерам материнских плат, которых придерживаются одни производители и не придерживаются другие (но их гораздо меньше). Вот основные из них:

  • Standard ATX 12 9,6 дюйма (305 244 мм);

  • Micro ATX 9,6 9,6 дюйма (244 244 мм);

  • Mini ATX 5,9 5,9 дюйма (150 150 мм).

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

Но что же такое материнская плата?

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

Начнем разбор с типичной материнской платы ATX. Ниже изображена плата Asus Z97-Pro Gamer, внешне и функционально не сильно отличающаяся от десятков ей подобных.

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

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

Подключаем мозг к ПК

На схеме выше мы видим структуру, имеющую обозначение LGA1150. Это обозначение используется в Intel для разъема, предназначенного для подключения различных процессоров. LGA здесь означает Land Grid Array распространенный тип технологии упаковки центральных процессоров и других чипов.

Системы LGA имеют множество маленьких контактов на материнской плате или в разъеме для обеспечения питания и связи с процессором. Выглядят они так:

Металлический фиксатор помогает закрепить ЦП на месте, но мешает рассмотреть контакты, так что уберем его:

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

Большому мозгу большая память

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

В нашем примере ЦП в материнской плате имеет 2 контроллера памяти, каждый из которых оперирует 2 картами памяти, всего 4 слота DRAM. На материнской плате они окрашены так, чтобы вы знали, какие из них каким контроллером управляются. Обычно их называют каналами памяти.

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

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

При такой комбинации ЦП и материнской платы используются микросхемы DDR3 SDRAM (синхронная динамическая память с произвольным доступом с версией 3 двойной скорости передачи данных), и каждый слот может содержать один SIMM или DIMM. IMM обозначает X-рядный модуль памяти (In-line Memory Module); S и D указывают на то, заполнена ли чипами одна или две стороны модуля (Single или Dual, соответственно).

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

Одинарный модуль DIMM DDR3 SDRAMОдинарный модуль DIMM DDR3 SDRAM

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

Обычно производители придерживаются 240 контактов в модулях памяти, и нет никаких признаков того, что в ближайшее время это изменится. Чтобы улучшить производительность памяти, с каждой новой версией просто увеличивается скорость чипов. В нашем примере каждый из контроллеров памяти ЦП может отправлять и получать 64 бита данных за такт. Таким образом, с двумя контроллерами карты памяти будут иметь 128 контактов, предназначенных для обмена данными. Так почему же их именно 240?

Каждый чип в DIMM (всего их 16 по 8 на каждую сторону) может передавать 8 бит за такт. Это означает, что каждому чипу требуется 8 контактов только для передачи данных; однако пара чипов использует одни и те же выводы, поэтому только 64 из 240 отвечают за обмен данными. Остальные 176 контактов необходимы для синхронизации и передачи адресов данных (места расположения данных в модуле), управления микросхемами и обеспечения их электроэнергией. Так вы можете убедиться, что наличие более 240 контактов не обязательно улучшит ситуацию.

ОЗУ не единственное, что подключено к процессору

Для повышения производительности системная память подключена напрямую к центральному процессору, но на материнской плате есть и другие разъемы, подключенные примерно так же и в тех же целях. Они используют технологию подключения PCI Express (сокращенно PCIe), и каждый современный ЦП имеет встроенный контроллер PCIe.

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

На изображении ниже показаны 3 разъема: два верхних это PCI Express, нижний гораздо более старая система под названием PCI (родственная PCIe, но намного медленнее). Маленький слот сверху, обозначенный как PCIEX1_1, имеет одну линию; тот, что ниже, 16 линий.

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

  • 2 разъема PCI Express на 1 линию;

  • 3 разъема PCI Express на 16 линий;

  • 2 разъема PCI.

Но если у контроллера ЦП всего 16 линий, то что тогда происходит? Прежде всего, к процессору подключены только PCIEX16_1 и PCIEX16_2, а третий и два однолинейных подключены к другому процессору на материнской плате (подробнее об этом чуть позже). Кроме того, если задействованы оба разъема на 16 линий PCIe, ЦП выделит каждому только по 8 линий. Это типично для всех современных процессоров: количество линий у них ограничено, и по мере того, как к ЦП подключается все больше устройств, на каждое выделяется все меньшее число линий.

Различные конфигурации процессора и материнской платы имеют собственные способы решения этой проблемы. Например, материнская плата Gigabyte B450M Gaming имеет один разъем PCIe на 16 линий, один PCIe на 4 линии и один M.2, использующий 4 линии PCIe. Поскольку ЦП имеет всего 16 линий, использование любых двух разъемов одновременно приведет к тому, что самый большой слот, 16-тилинейный, будет ограничен всего до 8 линий.

Так что же использует такие разъемы? Наиболее распространенные варианты:

  • 16 линии видеокарта;

  • 4 линии твердотельные накопители (SSD);

  • 1 линия звуковые карты и сетевые адаптеры.

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

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

Теперь двинемся через мост на юг

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

На фото выше показана материнская плата ASRock 939SLI32, где четко видны микросхемы NB и SB. Они обе скрыты под алюминиевыми радиаторами, но ближайшая к разъему ЦП в середине изображения это и есть северный мост. Спустя несколько лет после выхода этой платы и Intel, и AMD откажутся от использования NB и выпустят продукты, в которых NB интегрирован в ЦП. Южный мост, однако, остается отдельным, и, скорее всего, это не изменится в обозримом будущем. Интересно, что оба производителя процессоров перестали называть его SB и теперь часто зовут его просто чипсетом (собственное название Intel PCH, блок контроллеров платформы) несмотря на то, что это один чип.

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

Этот чип представляет собой усовершенствованный контроллер, поддерживающий разные типы и количество подключений. В частности, у нас есть Intel Z97, выполняющий следующие функции:

  • 8 линий PCI Express (версия 2.0 PCIe);

  • 14 портов USB (6 для версии 3.0, 8 для версии 2.0);

  • 6 портов Serial ATA (версия 3.0).

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

В данном случае это процессор, обрабатывающий слоты PCIe с одной линией, третий слот с 16 линиями и слот M.2. Как и многие новые чипсеты, он обрабатывает все эти различные соединения с помощью набора высокоскоростных портов, которые можно переключить на PCI Express, USB, SATA или сетевое соединение, в зависимости от того, что подключено в данный момент. Это, к сожалению, накладывает ограничение на количество устройств, подключенных к материнской плате, несмотря на наличие всех этих разъемов.

В случае нашей материнской платы Asus порты SATA (используемые для подключения жестких дисков, DVD-приводов и т. д.) из-за этого ограничения сгруппированы так, как показано выше. Блок из 4 портов посередине использует стандартные USB-соединения чипсета, тогда как два слева используются некоторые из этих высокоскоростных соединений. Так что, если вы используете те, что слева, на чипсете будет меньше соединений для других разъемов. То же самое и с портами USB 3.0. В них есть поддержка до 6 устройств, но 2 порта обязательно будут подключены к высокоскоростным соединениям.

Разъем M.2, используемый для подключения SSD-накопителя, также использует быструю систему (вместе с третьим слотом PCI Express на 16 линий на этой материнской плате); однако в некоторых комбинациях ЦП и материнской платы разъемы M.2 подключаются непосредственно к ЦП, поскольку многие новые продукты имеют более 16 линий PCIe.

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

  • Разъем PS/2 для клавиатур и мышей (сверху слева);

  • Разъем VGA для недорогих и устаревших мониторов (сверху посередине);

  • Порты USB 2.0 черные (снизу слева);

  • Порты USB 3.0 синие (снизу посередине).

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

Дополнительные фишки для дополнительной помощи

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

Рассматриваемая нами материнская плата Asus не исключение. Например, микросхема Nuvoton NCT6791D обрабатывает все маленькие разъемы для кулеров и датчики температуры на плате. Расположенный рядом процессор Asmedia ASM1083 управляет двумя устаревшими разъемами PCI, поскольку у чипа Intel Z97 такой возможности нет.

Хоть у чипсета Intel и есть встроенный сетевой адаптер, но он нагружает столь драгоценные высокоскоростные соединения, поэтому Asus добавила еще один чип Intel (I218V) для управления красным разъемом Ethernet, который мы видели в блоке ввода/вывода. На изображении выше не видно, насколько мал этот чип: его площадь составляет всего 0,24 дюйма (6 мм).

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

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

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

Эти маленькие микросхемы представляют собой переключатели PCI Express и помогают процессору и южному мосту управлять 16-линейными разъемами PCIe, когда им необходимо распределить полосы между несколькими устройствами.

Материнские платы с возможностью разгона процессоров, чипсетов и системной памяти теперь стали обычным явлением, и многие из них поставляются с дополнительными интегральными схемами для управления этими функциями. В нашем примере платы, выделенной красным, Asus использует собственную конструкцию, называемую TPU (TurboV Processing Unit), которая регулирует тактовые частоты и напряжения.

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

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

Этот чип Winbond имеет объем памяти всего 8 МБ, но этого более чем достаточно для хранения всего необходимого ПО. Этот вид флэш-памяти имеет очень малое энергопотребление при использовании и надежно хранит данные в течение десятилетий.

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

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

Кстати о питании для него тоже есть отдельные разъемы.

Игорь, принеси мне питание!

Чтобы обеспечить материнскую плату и подключенные к ней устройства необходимым напряжением, блок питания (PSU) имеет ряд стандартных разъемов. Основной из них 24-контактный разъем ATX12V версии 2.4.

Величина тока зависит от блока питания, но промышленные стандарты напряжения составляют +3,3, +5 и +12 В.

Основная часть питания ЦП поступает от 12-вольтных контактов, но для современных высокопроизводительных систем этого недостаточно. Чтобы обойти эту проблему, существует дополнительный 8-контактный разъем питания, обеспечивающий еще четыре 12-вольтных линии.

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

Линии +3,3, +5 и +12 В подают питание на различные компоненты на самой материнской плате, а также ЦП, DRAM и любые устройства, подключенные к разъемам, таким как USB-порты или PCI Express. Однако все, что использует порты SATA, требует питания непосредственно от блока питания, а разъемы PCI Express могут обеспечить напряжение только до 75 Вт. Если устройству требуется больше энергии, например, как многим видеокартам, то их также необходимо подключить напрямую к блоку питания.

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

Например, процессоры Intel, совместимые в нашей материнской платой Asus Z97, работают с напряжением от 0,7 до 1,4 В. Это не фиксированное напряжение, поскольку современные процессоры меняют его для экономии энергии и уменьшения нагрева, и в спящем режиме процессор может потреблять менее 0,8 В. Затем, когда все ядра полностью загрузятся и начнут свою работу, оно возрастает до 1,4 В и более.

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

Каждый VRM обычно состоит из 4 компонентов:

  • 2 MOSFET сильноточные управляющие транзисторы (синие);

  • 1 дроссель (фиолетовый);

  • 1 конденсатор (желтый).

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

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

Даже стандартный настольный процессор, такой как Intel i7-9700K, может потреблять ток более 100 А при полной загрузке. VRM очень эффективны, но они не могут изменять напряжение без потерь. Принимая во внимание большой ток потребления, вы получаете отличное устройство для гриля.

Если снова взглянуть на фотографию нашей платы, можно увидеть пару VRM для модулей DRAM, но, поскольку напряжения там гораздо меньше, чем на ЦП, они не так сильно нагреваются (и поэтому радиатор не нужен).

И прочие назойливые мелочи

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

Здесь у нас есть:

  • 1 мягкий выключатель питания;

  • 1 кнопка сброса;

  • 2 светодиодных разъема;

  • 1 разъем для динамика.

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

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

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

  • Разъем аудиопанели если в корпус ПК встроены разъемы для наушников/микрофона, то их можно подключить к встроенному звуковому чипу;

  • Цифровой аудиоразъем такой же, как и обычный аудиоразъем, но для S/PDIF;

  • Перемычка сброса BIOS позволяет сбросить BIOS до заводских настроек. Также за ним спрятан разъем термозонда;

  • Разъем Trusted Platform Module используется для повышения безопасности материнской платы и системы.

  • Разъем последовательного порта (COM) древний интерфейс. Кто-нибудь вообще им пользуется? Кто-нибудь?

Также наклеены, но не показаны, разъемы для кулеров и дополнительных USB-портов. Не каждая материнская плата поддерживает все это, но многие.

Соединяя все вместе

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

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

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

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

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

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

В заключение

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

Подробнее..

История портирования Reindexerа как покорить Эльбрус за 11 дней

15.06.2021 18:13:51 | Автор: admin

Всем привет! На связи Антон Баширов, разработчик из ИТ-кластера Ростелекома. Импортозамещение набирает обороты, а российский софт всё глубже проникает в нашу повседневную ИТ-шную сущность бытия. Процессоры Эльбрус и Байкал становятся более востребованными, комьюнити расширяется, но мысли о необходимости портировать весь наш любимый технологический стек на неизведанную архитектуру E2K звучат страшнее рассказов про горящий в пламени production-кластер.

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

Итак, гость в студии база данных Reindexer, разработка нашего ИТ-кластера.

Стоит сказать, почему выбор пал именно на Reindexer, а не другую БД. Во-первых, всеми любимый и известный Postgres уже есть в составе пакетов ОС Эльбрус. Переносить его нет необходимости. Во-вторых, наш гость уже прошел испытания на ARM, следовательно, пришло время ему покорить Эльбрус.

Стоит упомянуть, что Reindexer появился на свет как продуктвыбора между Elastic и Tarantool. Это определенно хочется попробовать завести на отечественном процессоре.

День 0. Знакомство с гостем

Несколько слов про нашего гостя:

Имя:NoSQL in-memory database Reindexer с функционалом полнотекстового поиска
Возраст:на момент испытаний версия БД была 3.1.2
Происхождение:Россия
Место рождения:пытливый ум разработчика Олега Герасимова@olegator99
Место жительства:https://github.com/Restream/reindexer
Место работы:Ростелеком
Строение:основная составляющая C++, имеются примеси из языка Ассемблера и немного CMake
Особенности:- Ассемблерные вставки;
- Много С++11 и C++14;
- Используются корутины.

Деятельность:- Хранение данных в памяти и на диске;
- Выполнение SQL запросов со скоростью 500K queries/sec для PK запросов;
- Выполнение запросов типа full-text search (почти как Elastic, только не тормозит);
- Работа в режиме server и embedded;
- Общение с крутыми парнями: Go, Java, Rust, .NET, Python, C/C++ и (да простит меня Хабр) PHP.

Заскучали? На этом нудная часть закончилась. В эфире рубрика Ээээксперименты!

День 1. А ты думал, в сказку попал?

Для начала попробуем нашего друга собрать из того, что есть.Идем на тестовый сервер Эльбрус 8C с ОС Эльбрус 6.0.1, клонируем туда репозиторий и запускаем CMake.

Хорошие новости, мы нашли компилятор! Новость действительно хорошая, ведь у Эльбруса свой компилятор LCC.

К счастью, создатели Эльбрус сделали LCC полностью совместимым с GCC и наши любимые нативные программки и сборщики смогут чувствовать себя хорошо без особых манипуляций. LCC уже сделал за вас нужные линки:gcc -> /opt/mcst/bin/lcc*.

Зачем Эльбрусу свой компилятор?

Дело в том, что компилятор у Эльбруса не такой, как все. Он выполняет много работы, связанной с анализом зависимостей и оптимизацией:

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

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

Но вернемся к нашему гостю и тому, что не понравилось CMake.

В скриптах сборки, в CMakeLists.txt выполняется определение операционной системы и архитектуры процессора, на которой собирается Reindexer. Нужно это для того, чтобы подключать правильные исходники ассемблера, ведь как говорится Write once, run anywhere.

Разумеется, на момент написания скриптов никто не знал про процессоры Эльбрус, поэтому наш скрипт и упал. Исправляем.

Программисты люди ленивые, поэтому:

Попытка 2:

А что так можно было? На самом деле да для того, чтобы завелся CMake, этого было достаточно. Теперь ударим в бубен и запустимmake -j8:

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

Поэтому, в некоторые места кода Reindexer понадобилось добавить парочку новых условий для__E2K__и__LCC__:

После колдовства с макросами нас ждал монстр пострашнее:

Вот что бывает, когда игнорируешь messages у CMake.

Из-за того, что CMake не нашел подходящих исходников, компилятор не смог найти реализации двух функций:jump_fcontextиmake_fcontext. Про назначение этих функций я расскажу чуть позже, а пока что давайте успокоим нашего гостя и подсунем ему пару пустышек:

Этих операций оказалось достаточно, чтобы Reindexer собрался.

Поздравляю, у вас двойня!

Вот они, наши два долгожданных файла:

# file reindexer_serverreindexer_server: ELF 64-bit LSB executable, MCST Elbrus, version 1 (GNU/Linux
# file reindexer_toolreindexer_tool: ELF 64-bit LSB executable, MCST Elbrus, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux.so.2, for GNU/Linux 2.6.33, with debug_info, not stripped

Это можно считать успехом. Мы смогли собрать наш первый Эльбрус-бинарник. Даже два бинарника: reindexer_server и reindexer_tool.

Подведем итоги. Чтобы собрать Reindexer, мы:

  • Поправили CMake-скрипты;

  • Добавили несколько условий в макросы препроцессора;

  • Заглушили ASM функции.

День 3. Наш Гость, попав на Эльбрус, начал подавать признаки жизни

Первый запуск прошел успешно - сервер поднялся, и даже открылся web-ui.

Я привык не останавливаться на достигнутом и решил немного поработать над Reindexer.

Результат меня порадовал - Гость устал и прилег отдохнуть:

Такое поведение наблюдалось только на Эльбрус. На i5 все работало штатно.

Давайте разбираться. Вооружившись отладчиком (gdb кстати под E2K работает прекрасно) и CLion, мне удалось докопаться до истины.

Пару запросов к Reindexer смогли воспроизвести ошибку:

Падает в деструкторе. Интересный момент - упало на free (в данном случае free реализуется через jemalloc). Видимо, здесь идет высвобождение памяти по некорректному указателю. Ошибку эту я исправлял в два этапа:

  1. work around - дело в том, что QueryEntry лежит в объекте ExpressionTree, в самом классе примечательного я не нашел, поэтому копнул в сторону родителя. Оказалось, что до вызова деструктора был вызван вот такой копирующий конструктор, в котором есть интересный MakeDeepCopy(), реализованный с помощью библиотечкиmpark-variant.

    Подробнее про expression tree рассказываюттут.

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

    Итог - оно заработало.

  2. TODO: Исправление тоже есть, но рассказ про него уже выходит за рамки данной статьи. Небольшой спойлер (код из mpark-variant с патчем под e2k):

inline constexpr DECLTYPE_AUTO visit(Visitor &&visitor, Vs &&... vs)#ifdef E2K //Fix for Elbrus    -> decltype(detail::visitation::variant::visit_value(lib::forward<Visitor>(visitor),                                                 lib::forward<Vs>(vs)...))    {     return detail::visitation::variant::visit_value(lib::forward<Visitor>(visitor),                                                 lib::forward<Vs>(vs)...);    }#else    DECLTYPE_AUTO_RETURN(        (detail::all(             lib::array<bool, sizeof...(Vs)>{{!vs.valueless_by_exception()...}})             ? (void)0             : throw_bad_variant_access()),        detail::visitation::variant::visit_value(lib::forward<Visitor>(visitor),                                                 lib::forward<Vs>(vs)...))#endif

День 5. Он ожил! Ну почти

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

Но все это время я упорно игнорировал один компонент.

Помните, как мы убрали завязку на ASM и функцииmake_fcontext и jump_fcontext?

Так вот, ASM исходники в Reindexer нужны для реализации C++ корутин, а эти функции - ключевые для корутин из библиотеки boost/context.

Кто такая эта ваша Корутина?

Корутина это функция, которая может быть приостановлена и возобновлена в любой момент. Для реализации достаточно трех основных компонентов:
- функция
- механизм для ее паузы (suspend)
- механизм для возобновления ее с той точки, в которой была сделана пауза (resume).

Реализацию корутин можно увидеть в таких языках и библиотеках, как:

  • Libcoro(корутины на C/С++)

  • Koishi(тоже корутины, тоже на С/С++)

  • Boost(и это тоже корутины, тоже на С/С++, корутин много не бывает!)

  • Node-fibers(корутины для NodeJS на базе libcoro)

  • Tarantool(fibers на базе libcoro)

  • Kotlin(свои корутины, не на C++)

  • C++20

  • Goroutine

Для наглядности вот скрин теста корутин из Koishi:

Последовательность следующая:

  1. Создали корутину, выделили стек, задали функцию;

  2. Возобновили корутину - в этот момент вызвалась наша функция;

  3. Приостановили корутину с помощьюkoishi_yield здесь мы вернули управление в test1 сразу после строчкиkoishi_resume;

  4. Если мы еще раз сделаемkoishi_resumeна нашей корутине мы вернемся на строчку функции cofunc1 сразу после первого вызоваkoishi_yield.

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

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

Есть несколько вариантов реализовать корутины:

  • Вариант 1:написать ASM реализацию. Самый очевидный, но при этом самый сложный вариант. У нас есть в планах попробовать именно этот вариант, так как ASM корутины - самые быстрые.

  • Вариант 2: забить. Нет, это не наш путь.

  • Вариант 3: использовать библиотеку.

По счастливой случайности Koishi оказалось той самой библиотекой, поддерживающей реализацию корутин с помощью встроенных E2K функций:makecontext_e2k()иfreecontext_e2k().

Koishi, Koishi, что это вообще такое?

Если коротко это библиотека, предоставляющая удобный API по использованию корутин на C/C++ с несколькими вариантами реализации:

  • ucontext

  • ucontext_e2k (наша прелесть)

  • fcontext

  • win32fiber

  • ucontext_sjlj

  • emscripten

Там, где стандартная медицина бессильна, в дело вступает генная инженерия.

Для начала внедрим Koishi в организм Reindexer:

Заменим больной орган на здоровый:

Стараемся не повредить то, что уже работает:

Одним из backend-ов Koishi для корутин выступает fcontext (те же самые boost исходники, что в Reindexer). Последуем древней мудрости работает не трогай! и оставим как есть в случае, если у нас не E2K архитектура. Для Эльбруса мы будем использоватьucontext_e2k.c

И вот он, наш мутант с корутинами полностью здоров и функционален (и на amd64, и на E2K):

День 11. Проводим финальные испытания

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

Всего в Reindexer около 300 функциональных тестов, и мне не терпится запустить их все.

Тесты бежали, бежали и не добежали. Один из тестов вызвал Segmentation Fault.

Всему виной оказались вот эти строчки:

struct ConnectOpts {  /* тут тоже код, но он не такой интересный */  uint16_t options = 0;  int expectedClusterID = -1;};

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

Попробуем воспроизвести на изолированном более простом примере.

ASM, настало твое время

Внимание на скриншот:

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

Баг заключается в том, что скомпилированное создание структуры выглядит как странныйaddd. Именно эта строчка и вызывает segfault. Кстати, если вместоbool anyField = falseнаписать простоbool anyField, то код совершенно другой и ошибки нет.

Семь бед, один ответ обновитесь!

Разгадка тайны оказалась проста. На момент работы с Reindexer последней версией компилятора LCC была v.1.25.16, однако в состав пакетов ОС Эльбрус по умолчанию входит 1.25.14, на котором я и запускал тесты. Добрые люди из сообщества подсказали нам, что уже в 15 версии данный баг был исправлен. Я решил обновиться на 16-ую и посмотреть, что будет.

Вот что нам принес новый компилятор LCC v.1.25.16:

C++ код такой же, однако ASM совсем другой, и что самое главное он работает! Последовательно (заранее прошу прощения за мой ломаный asm-русский переводчик):

  1. gestp - выделяем стек и кладем его в %dr3

  2. setwd - задаем текущее окно в регистровом файле

  3. setbn - задаем подвижную базу регистров в текущем окне регистрового файла

  4. addd - кладем "дно" стека (стек размером 0x20) в %dr2

  5. addd - выделяем на стеке нашу структуру

  6. ldb - достаем из констант наш false и кладем его в %r5

  7. stb - кладем наш false из регистра %r5 в наше поле anyField1

  8. addd - подготовили локальный указатель на структуру для вызова метода

  9. addd - передаем указатель в базовый регистр для передачи при вызове anyMethod (в anyMethod мы достаем указатель из регистра %dr0)

  10. disp - подготавливаем регистр перехода на anyMethod

  11. call - вызываем anyMethod

Дальше все просто пересобрать, перезапустить, обрадоваться.

Тесты прошли успешно, и теперь у нас есть полностью рабочий и протестированный Reindexer на Эльбрусе.

На этом все ?

На самом деле нет. Сейчас мы смогли:

  • собрать Reindexer Server

  • запустить Reindexer Server

  • собрать Reindexer Tool

  • запустить Reindexer Tool

  • переписать кусочек Reindexer Tool

  • уронить Reindexer и поднять его

  • добиться 100% проходимости Reindexer тестов

Мы научились:

  • собирать C++ софт на Эльбрус

  • переписывать C++ софт под особенности и отличия Эльбрусов

  • разбираться в ASM E2K

  • превозмогать трудности

  • разбираться в C++ корутинах даже на Эльбрусе

Что в планах:

  • корутины на ASM E2K (может быть даже сравнить fcontext ASM на i5 и ucontext/ASM на E2K)

  • оптимизировать Reindexer под архитектуру Эльбрус

  • перенести еще несколько интересных приложений на Эльбрус

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

  • организовать E2K инфраструктуру и песочницу

Что же можно сказать про Эльбрус со стороны простого разработчика?

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

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

Подробнее..

Перевод Как я разогнал Intel Rocket Lake Core i9-11900K до 7,14 ГГц на всех ядрах

16.05.2021 20:15:10 | Автор: admin

Процессоры семейства Rocket Lake уже доступны, а значит, пришло время для Xtreme OverClocker (XOCer). Я получил ранний доступ к процессорам и занимаюсь их разгоном уже несколько месяцев.

В этом месяце я узнал немало важных моментов о разгоне Rocket Lake, также мне удалось разогнать Intel Rocket Lake Core i9-11900K до 7,14 ГГц на всех ядрах. Еще я установил мировой рекорд на G.Skill Tweakers Contest Extreme. В статье я поделюсь несколькими советами.


Чипсет Z590, похоже, последняя разработка Intel с поддержкой DDR4. Компания уже подтвердила появление процессоров Alder Lake с новой контактной площадкой LGA 1700. Последующие модели плат Intel будут поддерживать уже PCIe 5.0 / DDR5 с новыми процессорами и сокетами AM5 / LGA 1700. В продаже они появятся примерно через год.

Тем не менее, у материнской платы Intel много возможностей. Например, в два раза больше VRM фаз, чем может потребоваться обычному пользователю, а также два слота DIMM со сверхвысокой пропускной способностью и сверхнизкой задержкой. Также есть RGB-подсветка, 12 слоев в PCB и целый набор подписанных свитчей, которые дают огромное количество возможностей.


В общем-то, я здесь не для того, чтобы убеждать в том, что Rocket Lake стоит того, чтобы ее купили. Стоимость несколько не то, что волнует компьютерного энтузиаста. Оправдана ли цена RTX 3090 в $2800? Это то, что ты просто хочешь, верно?

Для меня разгон Rocket Lake развлечение. Контроллеры памяти в этих чипах просто безумны, а новая настройка Intel Gears дает возможность без проблем увеличить частоту памяти до 5000 мГц. Все это имеет особенную ценность, значение для меня.

Наблюдаю ли я разницу в производительности XMP с 3800 мГц до разгона и 5000 мГц после разгона? Нет, но дело не в этом. Производительность, эффективность одно из моих пристрастий, а разгон как раз та сфера, где можно развернуться вовсю, удовлетворяя это пристрастие.

Разгон Rocket Lake с кулером AIO


Никаких сюрпризов, для разгона я использовал Z590 ASRock OC Formula. Дизайнер плат Ник Ши мой большой друг, и он реализовал несколько функций, о которых я просил. Пасхальное яйцо для вас: кнопки профиля 1/2/3 в правом верхнем углу расположены достаточно далеко, чтобы мои пальцы-сосиски случайно не наткнулись на что-нибудь (не шучу).

Эти кнопки профилей присутствуют на плате только потому, что нам с друзьями нужна возможность на ходу менять настройки и частоту для выполнения тестов. Также в нашем распоряжении IDE для SATA в сочетании с портами для мыши и клавиатуры PS2, специально для запуска Windows XP!


Плата очень крутая. У VRM 16 фаз, сама плата 12-слойная. DIMM-разъемы расположены очень близко к слоту. Настолько близко, что мне едва удается установить память с нестандартным радиатором рядом с блоком водяного охлаждения. Но все это вынужденная теснота, которая нужна для максимальной производительности.

Я использовал кулер Enermax LIQMAX III 360 ARGB AIO. Он оснащен отличной подсветкой, которая мне нравится. В качестве источника питания взял надежный MaxTytan 1250W. При пиковых нагрузках процессора потребляемая мощность в два раза меньше максимально возможной, что идеально подходит для меня.


Говоря о результатах обычных тестов, я могут без проблем достичь 5,2 ГГц с Cinebench R20 на пяти из семи чипов 11900K, которые я протестировал. И это без экстремальных условий вроде повышенных напряжения или температуры. Enermax LIQMAX III 360 достаточно силен для восьмиядерного Core i9-11900K. Даже когда вентиляторы работали в бесшумном режиме, температура процессора не достигала 80 C на протяжении всего теста.

Более того, Intel Core i9-11900K удается поддерживать аналогичные тактовые частоты на уровне 10900K, при этом основной компромисс заключается в снижении количества ядер до восьми вместо десяти. Более подробное техническое описание чипа можно найти в обзоре Intel Core i9-11900K Пола Алькорна.


Советы по разгону Rocket Lake


  • 1,51,55 В достаточное напряжение кольцевой шины и контроллера кольцевой шины. Причин превышать этот показатель нет ни для работы с обычным кулером, ни для охлаждения жидким азотом.
  • Не превышайте стандартное напряжение VCCIO. Теперь есть M_VCCIO Voltage или VCCIO 2, которые помогут с разгоном памяти. 1,551,65 В вполне достаточно, и проблем с Ln2 не возникло.
  • B-Die для этого поколения все еще царь горы. tCL 15 и 1t с использованием Gear 2 от 4800 МГц + для большинства тестов должна свести на нет потерю задержки из-за Gear 1.
  • У некоторых процессоров есть слабые ядра, которые являются бутылочным горлышком для многопоточных тестах. В этом случае попробуйте одноядерные тесты, в них чип может показать себя с лучшей стороны.
  • Вы можете проверить максимальное количество ядер, при помощи стандартных инструментов. Например, можно использовать Cinebench R20 с открытым HWMonitor для определения ядер с максимальной частотой 5,3 ГГц.
  • Используйте качественную термопасту. Вам нужна максимальная степень охлаждения, которую только можно получить.


Разгоняем Rocket Lake с жидким азотом


Для экстремального разгона я установил Reaktor 2.2 CPU и объединил его с Thermal Grizzly Extreme для получения лучших результатов.

Intel дала возможность без проблем экстремально разгонять Rocket Lake. Главная проблема в случае жидкого азота добиться того, чтобы уровень жидкости был всегда максимальным с его температурой в -196 C. Это поколение процессора требует лишь адекватного напряжения для CPU PLL. Поставьте 1,6 В+ и все задача выполнена. Затем настраиваем напряжение ядра и все готово для экстремального разгона.


Я протестировал несколько процессоров, находящихся в розничной продаже и смог достичь заветной отметки 7 ГГц на всех ядрах. Если быть точным, то 7140,88 МГц. Затем я занялся PYPrime 2.0, который является частью проводимого в настоящее время G.Skill Tweakers Contest Extreme на hwbot.org. Мне удалось установить мировой рекорд на частоте 6900 МГц и неплохих 1,87 В на ядре. Я решил оставить режим Gear 1 для памяти и использовал задержку для повышения пропускной способности.


Это был интересный опыт. Я заметил несколько важных нюансов при работе с жидким азотом. Так, чипы могут съедать напряжение ядра. Intel Core i9-10900K перестанет масштабироваться при 1,721,74 М виртуального ядра в многопоточных тестах. С Core i9-11900K не будет никакой магии до превышения 1800 vCore. Для меня было странно, что температура системы охлаждения процессора не очень менялась под нагрузкой. В некоторых случаях этот показатель составлял всего 1-2 C при температуре системы в 192 C.

Я начал подозревать проблемы термопастой. Но нет. Вторая догадка припой, что я посчитал маловероятным, но решил проверить. Решил использовать старый добрый Der8aur Delid Mate. Плата была достаточно толстой, так что я был уверен, что она не прогнется. Процесс прост нужно затянуть винт, толкнуть его в сторону и затем применить тепловой пистолет примерно в течение минуты, пока верхушка не отсоединится. Припой выглядел великолепно, его был много. Причем Intel решила использовать золото для всей внутренней части IHS, что мне показалось интересным. Правда, я не специалист в этой сфере, поэтому обсуждать этот нюанс не буду. Остатки припоя удалил бритвенным лезвием, а затем применил наждачную бумагу с зернистостью 2000 для удаления остатков припоя.


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


Вывод Intel удалось выжать все до последней капли из своего 14-нм техпроцесса. Я удивлен, что Rocket Lake способна на такое. Это отличная платформа для энтузиастов, и, возможно, она стимулирует AMD развиваться. В целом, это отличное завершение для 14-нм техпроцесса. Посмотрим, чего удастся достичь с Z690!

Подробнее..

Перевод Какой предел у предсказателя ветвлений? Проверили на x86 и M1

19.05.2021 12:19:31 | Автор: admin

Некоторое время назад я смотрел на высоконагруженную часть кода и обратил внимание на это:

if (debug) {    log("...");}

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

Про флаги отладки
Одно историческое решение этой конкретной проблемы, связанной с откладкой называется runtime noping. Идея состоит в том, чтобы изменить код во время выполнения и исправить неиспользуемую инструкцию ветвления на nop. Например, ознакомьтесь с обсуждением ISENABLED на https://bugzilla.mozilla.org/showbug.cgi?id=370906.

Насколько плохо использовать избыточное количество условных операторов?


В те времена основное правило звучало так: полностью предсказанное ветвление практически не имеет дополнительных затрат процессорного времени.

Но насколько это правда? Для одного условного оператора точно, а как насчет десяти? А сотни? Или даже тысячи? Где граница, когда добавление еще одного условного оператора становится плохой идеей?

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

const char *getCountry(int cc) {        if(cc == 1) return "A1";        if(cc == 2) return "A2";        if(cc == 3) return "O1";        if(cc == 4) return "AD";        if(cc == 5) return "AE";        if(cc == 6) return "AF";        if(cc == 7) return "AG";        if(cc == 1) return "AI";        ...        if(cc == 252) return "YT";        if(cc == 253) return "ZA";        if(cc == 254) return "ZM";        if(cc == 255) return "ZW";        if(cc == 256) return "XK";        if(cc == 257) return "T1";        return "UNKNOWN";}

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

Про оптимизацию
Интересный факт: современные компиляторы достаточно умны. Новый gcc (>= 11) и чуть более старый clang (>= 3.7) действительно могут значительно оптимизировать этот код. Но не будем отвлекаться, эта статья посвящена инструкциям ветвления на низком уровне!

Стоимость перехода


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

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

  1. безусловный переход (jmp на x86),
  2. call/return,
  3. переход при выполнении условия (je на x86),
  4. переход при невыполнении.

Переходов на самом деле больше
Это упрощение. Конечно, есть много способов изменить поток выполнения программы, например: программные прерывания, системные вызовы, VMENTER/VMEXIT.

Переход при выполнении условия особенно проблематичен, так как он может занять много процессорного времени. Для снижения временных затрат современные процессоры пытаются предсказать будущее и выбрать правильную ветвь кода до того, как условие будет вычислено. Этим занимается специальная часть процессора, которая называется предсказатель ветвлений (Branch Predictor Unit, BPU).

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

Источник
Предсказатель имеет несколько структур данных, но сегодня мы рассмотрим Branch Target Buffer (BTB). В этой структуре предсказатель хранит адреса условных операторов, которые уже были выполнены. В целом механизм намного сложнее, более подробно можно ознакомится в магистерской диссертации Владимира Юзелаца (Vladimir Uzelac) на примере процессоров 2008 года.


В данной статье мы рассмотрим как BTB ведет себя в разных условиях.

Зачем нужно прогнозировать переходы?


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

BR label_a;    X1    ...label_a: Y1

В упрощенной модели процессора операции будут проходить через конвейер следующим образом:


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

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

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

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

Играем с BTB


Как мы говорили ранее, сегодня мы рассмотрим Branch Target Buffer структуру данных, которая отвечает за определение следующего адреса после ветвления. Важно отметить, что BTB независим от системы, которая оценивает результат ветвления. Помните, мы хотим узнать, увеличивается ли время выполнения переходов при увеличении их количества.

Подготовить эксперимент, который создает нагрузку только на BTB относительно просто. В основе этого теста лежит работа Мэтта Годболта (Matt GodBolt). Оказывается, достаточно последовательности безусловных переходов. Рассмотрим следующий x86 код:


Это код состоит из последовательности инструкций jmp +2 (то есть буквально безусловный переход на следующую инструкцию), что создает значительную нагрузку на BTB. Для того, чтобы избежать пузырей, каждый переход требует правильного ответа от BTB. Такое предсказание ветвления должно происходить в самом начале конвейера до завершения декодирования команды. Этот механизм также необходим для любого ветвления, вне зависимости от его типа.

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


Мы провели подобный эксперимент для нескольких разных процессоров. В примере выше использовался процессор AMD EPYC 7642. В первый холодный запуск выполнение инструкции jmp занимало в среднем 10.5 тактов, а во все последующие запуски примерно 3.5 такта. Код теста составлен так, чтобы быть уверенным, что именно BTB тормозит первый запуск. Если взглянуть на исходный код, то можно увидеть некоторую магию с прогревом кэшей L1 и i-TLB без использования BTB.

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

Плотность имеет значение


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


Изменение размера блока может быть очень важным. Это позволяет нам контролировать размещение инструкций jmp. Напомним, что BTB индексируется по адресу инструкции. Значение указателя и выравнивание могут повлиять на размещение в BTB и помочь нам разобраться в его строении. Выравнивание может привести к необходимости добавить дополнительные nop. Последовательность из измеряемой инструкции jmp и последующих nop я буду называть блоком. Важно, что при увеличении размера блока увеличивается размер исполняемой программы. При больших значениях размера блока можно заметить просадку по производительности, которая связана с исчерпанием места в L1-кэше.

Эксперимент


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

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


Двигаемся далее: что если мы возьмем лучшее время каждого прогона с заполненным BTB для разных значений размера блока и количества блоков? Получается так:


Про отметку 4096 блоков
Хорошо, возможно, я немного переоцениваю график. Может быть отметка 4096 связана с кэшем микроопераций или каким-то артефактор декодера инструкций? Чтобы доказать, что этот всплеск связан с BTB я посмотрел на счетчики производительности Intel BPUCLEARS.EARLY и BACLEAR.CLEAR. Их значение невелико для количества блоков 4096 и увеличивается для количества блоков больше 5378. Это убедительное доказательство того, что падение производительности вызвано BPU и, вероятно, BTB.

Это потрясающий график. Во-первых, очевидно, что что-то происходит на отметке 4096 блоков вне зависимости от размера блока. Проговорим еще раз.

  • В самой левой части мы видим, что код достаточно мал меньше 2048 байт. Это позволяет уместиться в каком-то кэше и получить примерно 1.5 тактов на инструкцию при полностью спрогнозированном ветвлении. Великолепно.
  • С другой стороны, если ваш высоконагруженный цикл будет состоять не более, чем из 4096 переходов, то вне зависимости от плотности кода вы получите примерно 3.4 такта на каждый успешно предсказанный переход.
  • Если переходов больше 4096, то предсказатель ветвления выходит из игры и каждый переход станет занимать до 10.5 тактов. Это совпадает с тем, что мы видели раньше: переход без предсказания занимает около 10.5 тактов.

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

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

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


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


Во-первых, мы видим, что всегда выполняющийся условный переход je занимает больше времени, чем безусловный jmp, но это заметно только при количестве переходов больше 4096. Это ожидаемо, так как условие решается позже в конвейере, что создает пузырь. Далее, взгляните на синюю линию, которая чуть выше нуля. Это условный переход jne, который никогда не выполняется и занимает 0.3 такта на блок вне зависимости от количества блоков. Вывод очевиден: у вас может быть сколько угодно ветвлений, которые никогда не используются и это вам практически ничего не будет стоить. На отметке 4096 скачка нет, а значит, что BTB в данном случае не используется. Кажется, что для условных переходов, о которых нет информации, всегда делается предсказание о невыполнении условия.

Замечание 2. Условные переходы, которые никогда не выполняются, практически бесплатны. По крайней мере на этом процессоре.

Пока мы установили, что всегда исполняемые инструкции ветвления занимают BTB, а никогда не исполняемые нет. А как насчет других инструкций, например, call?

Мне не удалось найти этого в литературе, но кажется, что call и ret также занимают место в BTB для повышения производительности. Я смог продемонстрировать это на нашем AMD EPYC. Давайте посмотрим на следующий тест:


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


Этот график подтверждает теорию: вне зависимости от плотности кода (исключение: блок 64 байта значительно медленнее) стоимость операций начинает увеличиваться после отметки 2048. На этой отметке BTB заполняется предсказаниями call и ret и не может хранить больше данных. Из этого следует важное заключение:

Замечание 3. В вашем высоконагруженном коде должно быть меньше двух тысяч вызовов функций, по крайней мере на этом процессоре.
На нашем тестовом процессоре последовательность полностью предсказанных вызовов и возвратов занимает около 7 циклов, что примерно равно двум безусловным переходам jmp. Это согласуется с результатами выше.
Мы тщательно протестировали AMD EPYC 7642. Мы начали с этого процессора, так как предсказатель ветвления оказался прост, а диаграммы понятны. Оказалось, что на новых процессорах все не так просто.

AMD EPYC 7713


Новое поколение AMD EPYC более сложное, чем предыдущие. Давайте проведем два самых важных эксперимента. Во-первых, jmp:


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

Замечание 4. На данном процессоре можно получить переходы за менее, чем 1 такт, когда высоконагруженный цикл занимает меньше 32 КиБ.

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


Вызовы call/ret показывают примерно тоже самое. Предсказания после отметки в 2048 блоков начинают ухудшаться, а за пределами 3000 блоков вообще не срабатывают.

Xeon Gold 6262


Процессор Intel показывает совершенно другие результаты:


Наш тест показывает, что предсказанный выполняющийся переход занимает два такта. Intel задокументировала снижение тактовой частоты при высокой плотности ветвления. Это объясняет, что линия для 4-байтового блока колеблется около отметки в 3 такта. Рост количества циклов на инструкцию начинается на 4096 блоках, что подтверждает теорию о том, что Intel BTB содержит 4096 ячеек.

График с размером блока 64 байта выглядит непонятным, но легко объясняется. Стоимость операции ветвления остается неизменной до 512 операций, а затем начинает расти. Это объясняется внутренним устройством BTB, которое называется 8-way associative. Похоже, что с размером блока 64 байта мы можем использовать максимум половину из 4096 ячеек BTB.

Замечание 5. На процессорах Intel избегайте расположения jmp/call/ret на интервалах по 64 байта.

Наконец график call/ret:


Точно так же можно видеть, что предсказания ветвления перестают работать после отметке в 2048 инструкций. В этом эксперименте один блок использует две инструкции call и ret. Это еще раз подтверждается, что размер BTB составляет 4k. Блок размером 64 байта обычно медленнее, из-за наполнения nop, но в нем предсказатель начинает ломаться раньше из-за проблем с выравниванием инструкций. Обратите внимание, что такого эффекта не наблюдалось на процессорах AMD.

Apple Silicon M1


До сих пор мы рассматривали процессоры серверного сегмента. А как Apple Silicon M1 вписывается в эту картину?

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


Тест с предсказанными jmp показывает интересные вещи. Во-первых, когда код помещается в 4096 байт (1024 * 4, 512 * 8 и так далее), то вы можете ожидать, что jmp будет выполняться за 1 такт. Это замечательно.

Помимо этого, вы можете ожидать, что jmp выполнится за три такта. Это тоже очень хорошо. Ухудшения начинаются, когда размер кода превышает 200 КиБ. Это видно на графике с размером блока 64 на отметке 3072 (3072 * 64 = 196 КиБ) и на отметке 6144 при размере блока 32 (6144 * 32 = 196 КиБ). В документации указано, что L1-кэш инструкций процессора имеет размер 192 КиБ. Наш эксперимент это подтверждает.

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


Однако, если мы не доверяем коду flush-bpu (адаптированному коду Мэтта Годболта), эта диаграмма показывает две вещи. Во-первых, стоимость перехода без предсказания коррелирует с расстоянием перехода. Чем длиннее прыжок, тем он дороже. Мы не наблюдали такого поведения на процессорах x86.

Мы видели, сколько стоят последовательности предсказанных и не предсказанных переходов. На первом графике мы видим, что при превышении размера в 192 КиБ предсказатель ветвлений становится неэффективным. В эксперименте с якобы отключенным предсказателем мы видим те же значения. Например, для блока в 64 байта безусловный переход jmp занимает 3 такта. В случае, если предсказатель не сработал, то 8 тактов. Для большого объема кода безусловный переход занимает 8 тактов. Получается, что BTB соединен с L1 кэшем. Пол Клэйтон (Paul A. Clayton) предположил возможность такой архитектуры еще в 2016.

Замечание 6. На M1 предсказанные переходы занимают обычно 3 такта, а не предсказанные зависят от расстояния, на которое происходит переход. Вероятно, что BTB связан с L1-кэшем.

График call/ret получился забавным:


Как и в предыдущем графике, мы можем видеть значительный прирост производительности, если укладываемся в 4096 байт. В противном случае мы можем рассчитывать на 4-6 тактов на последовательность call/ret. На графике можно видеть забавные проблемы, связанные с выравниванием в памяти. Причина этих проблем не установлена. Сравнение этого графика с аналогичными для x86 может быть некорректным, так как инструкция call значительно отличается от варианта для x86.

M1 выглядит достаточно быстрым, особенно с предсказанными переходами, которые выполняются за 3 такта. В нашем тесте переходы перед предсказаниями не выполнялись дольше 8 тактов. А последовательность call + ret для кода с высокой плотностью должна соответствовать пяти тактам.

Заключение


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

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

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

С другой стороны, на M1 выглядит так, как будто BTB ограничен размером кэша L1. Но если вы пишете максимально производительный код, то он в идеале должен быть меньше 4 КиБ.

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

Источники


Я не первый человек, который изучал, как работает BTB. Мои эксперименты основаны на следующих материалах:



Подробнее..

Сравнение процессоров Байкал-М и Эльбрус-8СВ

21.05.2021 02:08:49 | Автор: admin

Сравнение процессоров Байкал-М и Эльбрус-8СВ



Недавно у меня по работе появился компьютер на базе процессора Байкал-М (BE-M1000), а также у меня есть удалённый доступ к компьютерам на процессорах Эльбрус, поэтому я решил сравнить их производительность в различных тестах.


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



К результатам процессоров Байкал-М и Эльбрус-8СВ я добавил процессор Intel Core i7-2600 для относительного сравнения.


Характеристики сравниваемых процессоров:


Байкал-М Эльбрус-8СВ Core i7-2600
Семейство ISA RISC VLIW CISC
Архитектура armv8 e2k x86-64
Микроархитектура Cortex-A57 elbrus-v5 Sandy Bridge
Частота (МГц) 1500 1500 3400*
Ядра; Потоки 8 8 4; 8
Техпроцесс (нм) 28 28 32
TDP (Вт) 30-35 80-90 95
Тип ОЗУ DDR4-2400 DDR4-2400 DDR3-1333
Год 2018 2018 2011

* У Intel Core i7-2600 часота бустится, да и ядер всего 4 с 8 потоками.


Кроме стандартных тестов Dhrystone и Whetstone, я решил включить следующие тесты:


  • HPL (High Performance Linpack)
  • 7zip встроенный бенчмарк
  • StockFowsh (встроенный тест шахматного движка)
  • Рендеринг в Blender (Файл для теста)
  • Готовые результаты в SPEC 2006 (однопоток)
  • JavaScript

Кроме того, я запускал тесты на языках программирования Java, C#, Python, PHP, Lua, но решил не включать результаты в эту статью, но вы их можете посмотреть отдельно: https://github.com/EntityFX/EntityFX-Bench/tree/master/results


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


Результаты


Тест Байкал-М Эльбрус-8СВ Core i7-2600
Dhrystone [DMIPS] 8438 9077 22076
Whetstone [MWIPS] 1608 2269 5729
Whetstone MP [MWIPS] 12097 16495 31319
Linpack 100 [MFLOPS] 1012 1723 4302
Scimark 2 [Composite score] 473 908 2427
Coremark (1T;MT) 7422; 58047 5500; 43008. 61871* (rtc x86-64) 22692; 119670
MP MFLOPS 49788 381326 81745
HPL [GFLOPS] 38 110 93.9
7zip (Comp; Decomp; Tot) (MT) 8483; 11252; 9868 8461; 13638; 11049 18024; 13363; 18664
STREAM (Copy; Scale; Add; Triad) [MB/s] 12315; 12061; 11064; 11529 23097; 23137; 25578; 25643 20860; 21838; 18512; 20452
SPEC 2006 INT 9.2 19.5 44.6
SPEC 2006 FP 9 27.5
Blender (RyzenGraphic_27) [min:sec] 2:47 2:32 1:18
StockFish [nodes/sec] 2750526 3123190 10860720
Octane 2 5266 2815** 24875
Sunspider 1.0.2 [ms] 849.5 2394** 232.3
Kraken 1.1 [ms] 4669.3 8714.2** 1287.8

* В нативном режиме Эльбрус в тесте Coremark показывает в 1,5 раза хуже результаты чем в режиме бинарной трансляции x86-64 кода (этот бинарный транслятор называется RTC)


* В JavaScript тестах Эльбрус достаточно отстаёт. Причина в том, что JIT-компиляция для JavaScript'а Эльбруса не достаточно глубоко реализована и есть куда улучшать. Во всех JS тестах использовался браузер Firefox. (На Эльбрусе только Firefox 52).


Результаты всех тестов здесь: https://github.com/EntityFX/anybench/tree/master/results


Моё видео о сравнении Байкала и Эльбруса:



Другие результаты:


Картинка


Выводы


Процессоры Байкал-М и Эльбрус-8СВ показывают примерно одинаковую производительность в большинстве задачах. Эльбрус-8СВ сильно выигрывает в "числодробилках", но проигрывает в тестах JavaScript (да и где есть интерпретация или JIT-компиляция в реалтайме).


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


Ссылки


Подробнее..

Компания Ampere экс-президента Intel разрабатывает 5-нм процессоры и начинает отгрузку 128-ядерных чипов уже этой осенью

23.05.2021 22:14:34 | Автор: admin

Примерно год назад мы писали, что компания Ampere Computing, основанная экс-президентом Intel Рене Джеймс (Renee James), анонсировала 128-ядерный ARM-процессор Altra Max. Это ARM-чипы, которые базируются на архитектуре ARM Neoverse N1, которая лежит и в основе процессоров AWS Graviton2 от AWS. Компания Ampere заявила, что новые процессоры позволят повысить производительность оборудования, в чем заинтересованы поставщики облачных услуг.

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

Что это за компания?


Она становится все более заметным игроком на рынке чипов, хотя и была основана всего около 4 лет назад. Ее основала экс-президент компании Intel Рене Джеймс, которая покинула свое место в середине 2015 года.

Тогда Intel начала переформатировать деятельность, выполнять кадровые перестановки, после чего некоторые высокопоставленные сотрудники уволились. Стоит отметить, что Джеймс проработала в Intel свыше 20 лет, она пришла в компанию в 1988 году, став ее президентом в 2013 г.

Предприятие стало успешным. Уже через год после основания новая компания объявила о сотрудничестве с Lenovo. Кроме того, Ampere Computing стала платиновым членом Green Computing Consortium (GCC). В 2019 году началось плодотворное сотрудничество с Nvidia, после чего на компанию обратили внимание и другие крупные игроки.

От 80 к 128 ядрам


В марте 2020 года Ampere Computing представила первый в мире 80-ядерный ARM-процессор, который получил название Ampere Altra. Он базировался на 64-битной архитектуре Ampere Altra. В ходе тестов процессор показал более высокую производительность, чем 64-ядерный AMD EPYC или топовый 28-ядерный Xeon семейства Cascade Lake.

Благодаря ARM-архитектуре процессор получился весьма энергоэффективным, он потребляет меньше энергии, чем x86 аналоги. На момент выхода показатель TDP процессора составлял 45-210 Вт при тактовой частоте 3 ГГц.


Все процессоры компании, включая 80-ядреный, предназначены для использования в высокопроизводительном серверном оборудовании. Они прекрасно подходят для серверных приложений вроде аналитики данных, искусственного интеллекта, баз данных, телекоммуникационных стеков, пограничных вычислений и т.п. Еще одно преимущество процессора поддержка поддержка форматов данных FP16 (числа половинной точности) и INT8 (однобайтное представление целого числа).

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


Что касается 128-ядерного чипа, его анонсировали в середине прошлого года. Новинка оснащена 128 физическими ядрами (без технологии многопоточности). Кэш L1 для инструкций и данных 64 Кбайт, L2 1 МБ, L3 32 МБ для каждого из ядер. Тактовая частота ядер 3.0 ГГц.


Поддерживается восьмиканальная оперативная память ECC DDR4-3200, максимальный объем ОЗУ 4 ТБ. Также поддерживается 128-линейный интерфейс PCI Express 4. Если установить два процессора на одну материнскую плату, то количество поддерживаемых линий составит 192. Известно, что 32 линии в этом случае используются для обмена данными между сокетами. Весь модельный ряд Altra производится по 7-нм техпроцессу от TSMC.

Чипы поддерживают DDR4 с частотой до 3200 МГц (сразу восемь каналов). Они полностью совместимы с обычными Altra на уровне сокета, что позволяет клиентам компании переходить на новое поколение процессоров. В чипах заявлено 128 линий PCI-E 4.0.

Новые процессоры будут поставляться ряду крупных компаний, включая Gigabyte, Wiwynn, Cloudflare, Genymobile, NVIDIA, Equinix. Отгрузка первой партии планируется на конец 2021 года.

Новые процессоры уже в разработке


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

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

Рене Джеймс заявила, что новые процессоры компании, как и предыдущие поколения чипов, предназначаются для серверов. Их планируется поставлять операторам дата-центров, крупным и не очень IT-компаниям. Среди них Microsoft и Tencent. Вероятно, не откажутся от новых чипов и существующие клиенты компании.


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

В скором времени компания запустит портал Ampere Solutions Portal, который предоставит клиентам доступ к ежедневным обновлением приложений с открытым исходным кодом, которые предназначены для работы с платформой Altra.

Заниматься потребительским сектором Ampere не будет компания не хочет распылять усилия и ресурсы. Таким образом, Ampere Computing не станет конкурентом Intel и AMD, поскольку соперничает с ними лишь в серверном сегменте. Насколько можно судить, компания стала одной из первых организаций, кто успешно начинает захватывать рынок, которым ранее безраздельно владели поставщики x86-решений.

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

Подробнее..

На пути к вершине Магма и Кузнечик на Эльбрусе

17.06.2021 16:13:58 | Автор: admin

В последнее время всё чаще появляются статьи о производительности российских процессоров Эльбрус на различных задачах. Тема криптографии пока что остаётся за кадром, хотя в разное время были упоминания то о высоких возможностях Эльбруса (некий ГОСТ лучше в 9 раз на Эльбрус-4С, чем на Intel Core i7-2600), то о плохой оптимизации компилятора и, соответственно, крайне низкой скорости реализованных алгоритмов (Кузнечик в 100 раз медленнее, чем на Intel?). Предлагаю наконец разобраться, что может Эльбрус, на примере двух ГОСТ алгоритмов симметричного шифрования.

Чтобы статья не вышла слишком большой, будем считать, что читатель имеет общее представление об архитектурах процессоров, в том числе знает об Эльбрусе. Если же нет, на сайте разработчика (компании МЦСТ) есть отличное руководство по программированию и книга об архитектуре в целом. Именно с этих материалов и началось моё знакомство с Эльбрусами. Также отмечу, что в современных процессорах очень много различных механизмов и особенностей, так что в статье буду касаться только тех, которые, на мой взгляд, важны при реализации выбранных алгоритмов.

Что может предложить архитектура Эльбрус

Для выполнения арифметических операций у Эльбруса есть 6 АЛУ (арифметико-логических устройств), способных выполнять операции параллельно. Начиная с версии 5 архитектуры появилась поддержка упакованных (SIMD) инструкций над 128-битными регистрами.

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

Задачу симметричного шифрования можно отнести к потоковой обработке массива данных. Для таких ситуаций в Эльбрусе есть механизм асинхронной подкачки данных из памяти APB (Array Prefetch Buffer). Использование этого механизма позволяет вовремя подгружать данные из памяти, не теряя время на кэш-промахи.

Выбор реализаций

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

Правда, о производительности ГОСТ алгоритмов обычно говорят только в контексте семейства x86-64, другие архитектуры мало кого интересуют. Но это не беда: мне показалось, что при знании команд ассемблера x86-64 ознакомиться с набором целочисленных и логических инструкций Эльбруса проще, чем, скажем, с ARM-овым. То есть прослеживаются определённые параллели, особенно, в области SIMD инструкций, и даже прямые аналоги. В остальном, конечно, у них нет ничего общего.

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

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

Тестовые машины

То же самое в текстовом виде

Процессор

Версия арх-ры

Кол-во ядер

Тактовая частота

L1d

L1i

L2

L3

Эльбрус-4С

E2Kv3

4

0.75 ГГц

4 x 64 КБ

4 x 128 КБ

4 x 2 МБ

Нет

Эльбрус-1С+

E2Kv4

1

0.985 ГГц

1 x 64 КБ

1 x 128 КБ

1 x 2 МБ

Нет

Эльбрус-8С

E2Kv4

8

1.2 ГГц

8 x 64 КБ

8 x 128 КБ

8 x 512 КБ

16 МБ

Эльбрус-8СВ

E2Kv5

8

1.55 ГГц

8 x 64 КБ

8 x 128 КБ

8 x 512 КБ

16 МБ

Эльбрус-2С3

E2Kv6

2

2 ГГц

2 x 64 КБ

2 x 128 КБ

2 x 2 МБ

Нет

Эльбрус-16С

E2Kv6

16

2 ГГц

16 x 64 КБ

16 x 128 КБ

8 x 1 МБ

32 МБ

Магма

В случае x86-64 быстрая реализация Магмы опирается на использование расширений AVX и AVX2. При этом учитывается наличие в процессоре нескольких АЛУ и возможность параллельного исполнения до 3 векторных инструкций за один такт. Естественно, планирование параллельного исполнения остаётся на откуп процессора.

В случае же Эльбруса есть возможность явно распланировать параллельное исполнение. Опуская некоторые детали, можно считать, что на 3 и 4 поколении возможно исполнить 6 целочисленных векторных операций над 64-битными регистрами, а начиная с 5 поколения 4 векторных операции уже над 128-битными регистрами.

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

Для измерения скорости был выбран режим ECB. Обычно именно он (или даже его упрощения) используется при сравнении производительности, а скорость других режимов можно оценить на базе полученных результатов, отличия несущественны. Речь идёт о реализации базового алгоритма шифрования, поэтому накладные расходы от смены ключа также не учитываются. Объём данных для замера порядка 1 ГБ. Естественно, шифрование на одном ядре. Для многоядерной машины можно умножить результат на количество ядер и получить близкую к реальности оценку скорости. По крайней мере, во всех сравнениях я видел именно такую зависимость. Полученные результаты в таблице ниже:

То же самое в текстовом виде

Процессор

Скорость на невыровненных данных

Скорость на выровненных данных

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

Эльбрус-4С

116 МБ/с

137 МБ/с

5.2 такт/байт

Эльбрус-1С+

151 МБ/с

179 МБ/с

5.2 такт/байт

Эльбрус-8С

185 МБ/с

220 МБ/с

5.2 такт/байт

Эльбрус-8СВ

402 МБ/с

520 МБ/с

2.8 такт/байт

Эльбрус-2С3

669 МБ/с

670 МБ/с

2.8 такт/байт

Эльбрус-16С

671 МБ/с

672 МБ/с

2.8 такт/байт

Здесь под выровненными данными подразумевается выравнивание по границе 8 байтов для E2Kv3/E2Kv4 и 16 байтов для E2Kv5/E2Kv6. При наличии такого выравнивания (на версиях до 6) работает механизм APB и данные для шифрования эффективно подкачиваются из памяти. При этом с версии 6 APB уже не требует выравнивания данных, поэтому при любом расположении данных достигается максимальная скорость. Для невыровненных данных на предыдущих версиях архитектуры я не провёл достаточно исследований, так что значения в этом столбце таблицы можно считать нижней границей.

Для сравнения приведу результаты из статьи с описанием базовой реализации на Intel Core i3-7100 @ 3.9 ГГц. При использовании AVX 458 МБ/с, 8.1 такт/байт; AVX2 1030 МБ/с, 3.6 такт/байт. Так что по абсолютной скорости Эльбрус достаточно близок к современным процессорам Intel (это при значительной разнице в тактовой частоте!) и превосходит x86-64 с AVX в тактах более чем в 1.5 раза (для 3 и 4 поколения), а x86-64 с AVX2 в 1.3 раза (для 5 поколения).

Кузнечик

По сравнению с Магмой, структура Кузнечика является более сложной. Несмотря на то, что удалось декомпозировать нелинейное преобразование S, техники реализации, основанные на широком использовании SIMD-инструкций, пока что отстают от "классической" реализации со склеенным LS (линейным и нелинейным) преобразованием и таблицей предвычислений размером 64 КБ (упоминается в статье под именами с LS или более простое описание на Хабре).

В случае x86-64 Кузнечик эффективнее всего реализуется с использованием AVX-инструкций (удобно работать со 128-битными регистрами, так как длина блока и размер значений в таблице равны в точности 128 битам). При этом для вычислений адресов в таблице не удаётся воспользоваться эффективной адресацией Scale-Index-Base-Displacement (именование из статьи), так как в качестве Scale нужно значение 16, а максимально возможное 8. На Эльбрусе можно ожидать конкурирующих результатов за счёт большого кэша L1d (64 КБ) и наличия 4 АЛУ, обеспечивающих произвольный доступ к памяти (насколько мне известно, у абсолютного большинства процессоров x86-64 2 порта для загрузки данных).

Как и в случае с Магмой, для Кузнечика я написал отдельную реализацию на Си под Эльбрус, чтобы добиться максимальных результатов. Начиная с 5 версии архитектуры я явным образом использовал тип __v2di (см. e2kintrin.h в составе компилятора), чтобы быть уверенным, что получится использовать регистры как 128-битные.

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

Итак, в случае строго последовательной обработки данных:

То же самое в текстовом виде

Процессор

Скорость на невыровненных данных

Скорость на выровненных данных

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

Эльбрус-4С

52 МБ/с

69 МБ/с

10.4 такт/байт

Эльбрус-1С+

63 МБ/с

90 МБ/с

10.4 такт/байт

Эльбрус-8С

80 МБ/с

110 МБ/с

10.4 такт/байт

Эльбрус-8СВ

95 МБ/с

150 МБ/с

9.9 такт/байт

Эльбрус-2С3

170 МБ/с

171 МБ/с

11 такт/байт

Эльбрус-16С

171 МБ/с

172 МБ/с

11 такт/байт

Для сравнения результаты из статьи (лучшие из опубликованных) на Intel Core i7-6700 @ 4 ГГц 170МБ/с, 22.4 такт/байт. В отличие от Магмы, можно говорить о сопоставимой абсолютной скорости и преимуществе в тактах более чем в 2 раза.

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

С параллельной обработкой ситуация намного интереснее:

То же самое в текстовом виде

Процессор

Скорость на невыровненных данных

Скорость на выровненных данных

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

Эльбрус-4С

78 МБ/с

83 МБ/с

8.6 такт/байт

Эльбрус-1С+

102 МБ/с

108 МБ/с

8.7 такт/байт

Эльбрус-8С

126 МБ/с

133 МБ/с

8.6 такт/байт

Эльбрус-8СВ

248 МБ/с

291 МБ/с

5.1 такт/байт

Эльбрус-2С3

453 МБ/с

454 МБ/с

4.2 такт/байт

Эльбрус-16С

454 МБ/с

455 МБ/с

4.2 такт/байт

И традиционное сравнение с Intel Core i7-6700 @ 4 ГГц: на нём достигается 360 МБ/с, 10.6 такт/байт. В отличие от случая последовательной обработки, у E2Kv3 и E2Kv4 преимущество Эльбруса не такое большое, предположительно из-за того, что реализация обработки нескольких блоков вместе обладает более высокой степенью параллельности и планировщику на x86-64 легче справиться с выявлением независимых операций. А вот появление у 5 поколения Эльбруса 128-битных регистров и загрузок из памяти позволяет ему сохранить преимущество в тактах более чем в 2 раза.

Сравнивать E2Kv6 с i7-6700 оказалось несолидно, поэтому я взял ассемблерную реализацию режима ECB и провёл собственный замер. В статье с описанием результатов на i7-6700 данные шифруются на месте, без работы с памятью, поэтому у честного режима ECB результат чуточку хуже: на самом мощном из доступных мне процессоров Intel Core i7-9700K @ 4.7 ГГц вышло 411 МБ/с, 10.9 такт/байт. Эльбрус оказался быстрее, обеспечивая преимущество в тактах в 2.5 раза.

Заключение

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

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

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

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

P.S.

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

Несмотря на то, что для получения описанных результатов мне удалось разобраться с Эльбрусом на основании только открытой информации и документации к компилятору, я хочу выразить благодарность сотрудникам МЦСТ, в особенности, Александру Трушу, за ответы на периодически возникавшие у меня вопросы и, конечно, за предоставление удалённого доступа к новым процессорам.

Подробнее..

Процессорам Alder Lake от Intel понадобятся новые системы охлаждения и материнские платы

25.05.2021 18:15:50 | Автор: admin

Совсем недавно в нашем блоге публиковалась статья о новой гибридной процессорной архитектуре Alder Lake от Intel. У процессоров на ее основе есть рабочее название Core-1800 SKU, но оно вряд ли будет финальным. Образцы новых чипов удалось изучить, они включают 8 высокопроизводительных ядер Golden Cove и 8 энергоэффективных ядер Gracemont.

Базовая тактовая частота чипа 1,8 ГГц. Но с включенным TurboBoost процессор сможет показать гораздо большую производительность, вплоть до 4,6 ГГц. Известно также, что новое поколение процессоров будет устанавливаться в новый сокет Socket V (LGA1700). Это касается как чипов Intel Alder Lake-S, так и следующего поколения, Raptor Lake-S. Что это значит? Полная несовместимость процессоров со всеми выпущенными на данный момент материнскими платами и системами охлаждения.

Предстоят новые траты


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

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

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


Владельцу ресурса IgorsLAB удалось получить чертежи новых систем. Он подтвердил их несовместимость с существующими системами. В то же время, он связался с предсвителями Cooler Master, которые предоставили систему охлаждения MasterLiquid ML360 Sub-Zero. Ее удалось установить, причем результаты охлаждения были весьма неплохими. Но проблема здесь в том, что сама эта система потребляет большое количество энергии не меньше, чем сам процессор.


Выше фотография этой системы. Автор подчеркивает, что все это чистой воды эксперимент, который вряд ли пригодится для реальных кейсов.

Не все так плохо


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

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


Примеры таких систем есть, подобный подход применялся, например, компанией Noctua для некоторых модификаций систем охлаждения, несовместимых с сокетами AM4. Кулер Noctua NH-U9S, например, не подходит для установки на этот сокет. Но компания выпустила специальные крепежные адаптеры NM-AM4-UxS, которые решают эту задачу.


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

Что известно о новых процессорах


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


У 12-го поколения процессоров от Intel несколько модификаций, точнее, семейств:

  • Alder Lake-S для десктопных ПК.
  • Alder Lake-P для мощных ноутбуков.
  • Alder Lake-М для маломощных устройств.
  • Alder Lake-L для мобильных девайсов.
  • Alder Lake-N для всех прочих устройств, включая не очень производительные ноутбуки, хромбуки и т.п.

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

В однопоточном режиме процессоры смогут обеспечивать двукратный рост производительности по сравнению с предыдущим поколением, Rocket Lake. В многопоточном все не так радужно, но и здесь прирост производительности составит около 20%, что весьма неплохо.


Новые чипы должны появиться в конце 2021 года, именно тогда ожидается их отгрузка вендорам разного рода компьютерных систем. Устройства же на основе процессоров 12-го поколения появятся в начале 2022 года, возможно, чуть позже.

Подробнее..

Cubique reloaded. Обзор сервера HP NetServer LH Pro

17.06.2021 12:20:28 | Автор: admin

Совсем недавно мы с вами познакомились с экспонатом, олицетворяющим суровость и непоколебимость, надежность и долговечность сервером HP NetServer LM, в недрах кубического корпуса которого вот уже больше 28 лет трудится процессор Intel 486DX2 с частотой 66 МГц. Кубическая серия была столь удачна, что пережила несколько обновлений. Под именем LM, она прошла путь от младших 486DX до ранних Pentium. Последними модификациями стали 5/66 LM2 с двумя Pentium 66 (Socket 4) и 5/90 LM с одним Pentium 90 (Socket 5).

В 1995 заслуженная серия ушла на покой, но на смену ей пришла новая NetServer LS, которая поддерживала уже до 4 процессоров и ставшая куда больше по размерам. Но прежнее, лишь слегка доработанное шасси осталось в производстве на его основе была выпущена полностью новая серия LH, отправившаяся завоевывать средний сегмент. Первые модели получили процессоры Pentium 75 или 100 МГц, также существовала версия с двумя Pentium 100.

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


Внутренняя компоновка осталась прежней системная плата со слотами расширения, в которую устанавливается процессорная плата. Вот только разъемы EISA теперь были дополнены более производительной шиной PCI, все сильнее набирающей популярность. Слоты памяти в свою очередь, переехали на процессорную плату. Причина тому использование стандартного чипсета Intel 430NX вместо мудреного Intel Xpress, использовавшего отдельную шину для подключения процессорных модулей.

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

В 1996 году случилось большое обновление, серия разделилась на две LH Plus, на базе Pentium и двухчипового чипсета 430HX и LH Pro, имевшая в основе революционный Pentium Pro и новый, более доступный чипсет 440FX, состоящий трех чипов вместо восьми у прежнего 450KX. LH Plus выпускался в вариантах с 133 и 166 МГц процессорами, а LH Pro получил единственную модель LH Pro 6/200 с одним или двумя Pentium Pro 200 МГц с 256 Кбайт кэшем.

Вместо 6 слотов SIMM, на новых процессорных платах установлено 4 слота DIMM для памяти типа EDO. Вместо 192 Мбайт максимальный объем памяти теперь составил 512 Мбайт или 1 Гбайт для LH Plus и LH Pro соответственно. Новые модели отличались и системной платой, получив более быструю шину Wide SCSI вместо прежней обычной 8-битной SCSI, отныне именуемой Narrow.


В таком исполнении серверы выпускались еще два года до 1998, получив последнее обновление в 1997 году с выходом процессоров Pentium II. Модель, обозначенная как LH II сохранила прежнюю системную плату и осталась на чипсете 440FX новый 440LX, созданный специально для Pentium II выйдет лишь через полгода. Изменения коснулись лишь процессорной платы фактически LH Plus и LH Pro можно было обновить до LH II заменив процессорную плату и микросхему с прошивкой BIOS. В остальном они были идентичны.

Предпоследний герой


Коллекции Digital Vintage недавно удалось получить один из поздних LH Pro 6/200, выпущенный осенью 1997 года. Машина до начала десятых годов трудилась в одной из подмосковных производственных компаний в качестве файл-сервера, а потом почти десять лет ждала своей участи на балконе одного из бывших сотрудников, который пожалел необычный сервер и сохранил его просто из жалости и любопытства.


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

В целом, сервер прибыл в рабочем состоянии, но хранение на балконе не могло не сказаться на его внешнем виде. Шлейфы SCSI (почему-то именно они) и часть пластиковых деталей растрескались. Родной SCSI CD-ROM и заглушка 5.25 отсека не сохранились. Приятным дополнением оказался SCSI CD-RW привод от Yamaha, но он решительно не подходил по цвету вместо обычного белого или бежевого, приводы в серверах HP светло-серого цвета.

Реставрация


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

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


Удалось найти оригинальный CD-ROM от более поздней модели NetServer он соответствует по дизайну устанавливавшемуся в эту модель SCSI-приводу, но работает с интерфейсом IDE. При возможности он будет заменен на полагающийся серверу девайс с шиной SCSI (например, для NetServer LM удалось найти оригинальный двухскоростной SCSI-привод). А вот найти заглушку свободного 5.25 отсека не удалось совсем, возможно ее место займет стример DDS из списка оригинальных опций, пока же стоит заглушка от более поздней модели сервера.

Изначально сервер поступил с полным комплектом из 6 дисков на родных салазках. К сожалению, два из них работали нестабильно и были отстранены от работы. Еще два не соответствовали возрасту машины, слишком новые были обменены коллеге по увлечению Алексею из Vintage Server Room. В сервере осталось два диска по 4 Гбайт производства Quantum, но с маркировкой HP. В качестве системного был добавлен оригинальный 2 Гбайт диск. Еще двое салазок пока стоят пустые, а один слот занимает заглушка салазки были в плохом состоянии.

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


Потребовала замены батарея питания CMOS, что не удивительно. В этом машине, она выполнена в виде отдельного модуля на 4.5 В производства Rayovac. Она подключается к системной плате длинным кабелем с разъемом как у обычного системного динамика. Вместо батареи был установлен отсек для 3 элементов ААА, доработанный с использованием кабеля от штатного модуля.

Под крышкой


Пришла пора приглядеться внимательнее. Два родственника выглядят очень похоже, но и спутать их при этом сложно. Помимо удаления информационного дисплея и новой именной таблички, LH Pro получил корзины для дисков с возможностью быстрой замены такая опция была доступна и для LM, но сами корзины кардинально отличаются. Корзины для LM были выполнены в виде индивидуальных 5.25 модулей, каждый из которых вмещал один 3.5 диск с разъемом SCSI 50-pin (Narrow). Для извлечения диска требовалось отпереть замок.

Корзины в LH Pro несут по 3 диска с разъемом SCA (SCSI Configured Automatically на единый интерфейс выведено питание, шина и задатчик идентификатора диска) каждая и занимают по 3 пятидюймовых отсека. Возможно использовать как обычные диски половинной высоты, так и толстые полной высоты.


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

Само шасси снабжено информационными наклейками с описанием подключения шлейфов и расположением компонентов на разных версиях процессорных плат. Напомним, что модели LH Plus и LH Pro имеют взаимозаменяемые процессорные платы. Помимо платы требуется также заменить микросхему с прошивкой.


Системная плата, как упоминалось выше, содержит южную часть чипсета, в данном случае две микросхемы S82374SB и S82375SB, неизменные еще со времен 430NX, используемые для реализации EISA версии чипсета. Компанию им составляет PCI мост Digital 21052-AB, обеспечивающий поддержку второй PCI шины. Это связано с ограничением числа Bus Master устройств (имеющих возможность управлять вводом-выводом минуя процессор) до 3 на одной шине в старых EISA чипсетах. Серверным же картам расширения эта функция особенно важна.

Еще две микросхемы два Wide SCSI контроллера Adaptec AIC-7880, обеспечивающие пропускную способность до 40 Мбайт/с каждый. Других интегрированных PCI устройств на плате нет. Таким образом из 5 слотов EISA и 5 слотов PCI (одна пара слотов совмещенная можно установить карту только в один из них) 4 слота PCI могут использовать режим Bus Master, также он доступен для обоих SCSI контроллеров.

Также отдельно выполнен IDE контроллер (напомним, в 374/375 мостах нет встроенного) он имеет всего один канал и реализован на ISA/EISA Multi-IO контроллере PC87332VLJ.

Россыпь чипов PCI-мост Digital, EISA-мост Intel и два SCSI контроллера Adaptec
Верхняя часть системной платы с видеоконтроллером и Multi-IO
Контроллер Multi-IO

Сегодня это кажется удивительным, но в сервере нет интегрированного сетевого адаптера. Он рассчитан на использование отдельных карт расширения, в комплекте с нашим экземпляром шла плата Fast Ethernet от 3Com. Также были доступны платы фирменного стандарта HP 100VG-AnyLAN, появившегося немного раньше Fast Ethernet и позволяющего получить 100 мбит/с на витой паре Cat3. Также эта технология позволяла стыковать сети с распространенными TokenRing и Ethernet сетями с использованием простых мостов.

Сетевая карта 3Com и слоты EISA

Еще одним неоднозначным решением является интегрированная видеокарта. Серверы нетребовательны к производительности и возможностям видеосистемы в целом, но здесь HP ставит рекорд аскетизма на системную плату интегрирован ISA видеоконтроллер Trident 9000i с 512 Кбайт видеопамяти и встроенным RAMDAC.

Возможностей платы хватает для вывода изображения в режиме до 1024х768 при...16 цветах. Или 640х480 при 256 цветах. Крайне скромно. Производительность также скромна, но достаточно для отображения интерфейса Windows или, тем более, консоли Unix или NetWare. Главное, не включайте прорисовку содержимого окна при перемещении

Видеоконтроллер и 512 Кбайт видеопамяти

Процессорная плата гораздо скромнее системной, но в сравнении с LM, она стала вдвое больше и заняла в длину весь отсек теперь она устанавливается на направляющие. Плата несет на себе два чипа северных чипсета 440FX (82441FX и 82442FX), два разъема Socket 8 для процессоров Pentium Pro, два разъема для установки модулей питания процессора (VRM) и 4 слота оперативной памяти EDO DIMM.

Наш герой был выпущен в комплектации с одним процессором и прожил в таком виде почти всю жизнь. Вскоре после поступления, он был оборудован вторым VRM, подошедшим от сервера тогда еще конкурирующей компании Compaq, а процессоры был заменен на идентичную пару таких Pentium Pro 200/256K. Нашелся даже оригинальный радиатор!



Второй процессор увиделся и заработал сразу, а вот с памятью пришлось повоевать. Сервер приехал с 4 фирменными модулями памяти от HP парой на 128 Мбайт и парой на 32 Мбайт. К сожалению, именно одна из 128 Мбайт планок оказалась сбойной, причем сбой достаточно странный вместо положенных 128 Мбайт, она определяется как 85.1 Мбайт. Путем удаления половины чипов удалось сделать из нее рабочую и проходящую тесты 64 Мбайт планку, но использоваться она будет теперь только для тестовых нужд. Что ж, 192 Мбайт вполне достаточно для работы планируемой к установке системы.


Интересный факт: помимо NetServer LH Pro также выпускался кастрированный вариант LD Pro. Основанная на дизайне плат LH Pro, эта машина содержит лишь его половинку на процессорной плате распаян только один сокет, на материнской плате отсутствует часть слотов осталось 4 PCI и 2 EISA разъема, под сокращение попал и второй канал SCSI. Несмотря на одинаковое устройство и шасси, отличается фронтальная панель она содержит на два 5.25 отсека меньше и вмещает только одну трехдисковую корзину. Такая машина есть в коллекции Vintage Server Room.

Проникаем в сознание


После запуска, первым делом получаем ошибку сбой контрольной суммы CMOS и EISA. Сервер предлагает загрузиться с фирменного компакт диска, но для этого вероятно нужен SCSI-привод. С IDE CD-ROM загрузка не проходит. Интересно и то, что встроенной в прошивку утилиты настройки BIOS у сервера нет.

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

Отсутствие возможности загрузиться с диска не помеха, для LH Pro утилиты также доступны и на привычной дискете. Пара минут и все важные опции выставлены можно устанавливать операционную систему. Сервер будет работать под управлением Windows NT Server 4.0, в отсутствие возможности загрузки с оптического привода, лучше всего установить ее с родных дискет, а не с использованием установщика для DOS. В противном случае можно столкнуться с ограничением размера загрузочного раздела диска из-за файловой системы FAT, его размер не может быть более 2 Гбайт.

FAT32 не поддерживает NT 4.0, а поддерживаемые NT 4 Гбайт FAT разделы напротив не поддерживаются DOS. При установке с дискет также существует ограничение, связанное уже с BIOS максимальный раздел не должен выходить за пределы 1024 цилиндра, что при трансляции LBA соответствует 8 Гбайт.


В остальном, установка проходит стандартно, не потребовалось даже создавать дискету с драйверами SCSI контроллера. Интерфейс ОС выглядит уже довольно привычно, даже сегодня не вызывая затруднений для пользователя. А вот административная часть отличается значительно как в базовых настройках, так и в серверной части. Настройка устройств размазана по нескольким апплетам. Отсутствует полноценная поддержка PnP. Гораздо скромнее средства управления. Многих привычных по более новым версиям служб еще не появилось.


Основные сценарии использования Windows NT Server 4.0 остались прежними служба каталогов, файл-сервер, сервер БД (как правило с СУБД MS SQL Server), веб-сервер на базе IIS. Причем, основным назначением IIS были в то время скорее корпоративные порталы, нежели публичные веб-сервисы. Позднее появился созданный совместно с Citrix Windows NT Terminal Server Edition, предоставляющий функционал сервера приложений с терминальным доступом.


Как известно, вплоть до Windows 2000 системы линейки NT не умели управлять питанием системы, да и Windows 2000 работать умеет только с ACPI. Для Windows NT есть утилита и патч HAL (Hardware Abstraction Layer) от HP для поддержки выключения питания при завершении работы на платах с поддержкой APM.

Большинство однопроцессорных АТХ плат такой режим поддерживают. На десктопных двухпроцессорных есть сложности, например на FIC PN-6210 выключение так и не заработало. С этим сервером все еще проще он не поддерживает APM, нефиксируемая кнопка питания лишь управляет блоком питания по сути это классическая AT машина.

Что касается производительности пара Pentium Pro 200/256K, а по сути это одна из младших версий, и 192 Мбайт памяти позволяют не только достаточно комфортно работать в интерфейсе системы (если бы только не видеокарта!), но и оставляют большой запас для работы сервисов. Кроме СУБД, в такой конфигурации серверу по плечу большинство задач с использованием актуального софта тех времен. Для MS SQL все же потребуется больший объем памяти хотя бы 512 Мбайт для работы с базами адекватного объема.

Заключение



К сожалению, NetServer LH Pro/LH II стали последними серверами на основе удачного шасси, не только удобного и продуманного для безотказной работы компонентов, но и обладающего некоторым внешним шармом. Появление новых Pentium II Xeon не оставило шансов для них шасси стало стало бы слишком тесным, а для более скромных серверов на базе обычных Pentium II такие габариты напротив были избыточными.

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

Напротив, тонкие 1 и 2U системы были редкостью и считались экзотикой для телекоммуникационных применений. Но уже через 15 лет все перевернулось с ног на голову и теперь сервер более 2U кажется здоровенным динозавром. А кубики вернулись к нам в виде домашних медиасерверов и хранилищ. Привет, HPE MicroServer!

А теперь пора сказать До свидания!. Совсем ненадолго. Вас ждут новые истории о необычных, знаковых и просто интересных исторических компьютерах у Digital Vintage в запасах еще много интересной техники. До новых встреч!

Подробнее..

Samsung просит милости у голландского монополиста ASML

13.05.2021 16:14:30 | Автор: admin

Машина для фотолитографии ASML весит около 180 тонн и стоит примерно $170млн

Пытаясь конкурировать с TSMC (Тайвань) в производстве микросхем последнего поколения, конгломерат Samsung (ЮжнаяКорея) пошёл на крайние меры. Как стало известно Nikkei Asia, осенью 2020 года вице-президент Samsung Electronics Ли Джэ Ён (Lee Jae-yong, де-факто это руководитель всего Samsung) летал в Нидерланды на переговоры с руководством ASML мировым монополистом на рынке оборудования для самой продвинутой версии фотолитографии в глубоком ультрафиолете (EUV).

Nikkei Asia называет эту поездку в разгар пандемии отчаянным шагом. Корейцы пытаются выпросить уникальные сканеры ASML, более 70% которых сейчас уходит главному конкуренту тайваньской TSMC.


Установка для фотолитографии в глубоком ультрафиолете ASML Twinscan NXE:3400B поддерживает травление элементов размером 7 и 5 нм в промышленном масштабе (125 и более пластин в час)

Как рассказывалось в статье об ASML, степпер это основное оборудование, которое используется при изготовлении полупроводниковых интегральных схем. В процессе работы степпера рисунок с маски многократно переводится в рисунок на различных частях полупроводниковой пластины. Своё название степпер получил из-за того, что каждое экспонирование производится небольшими прямоугольными участками (порядка нескольких квадратных сантиметров); для экспонирования всей пластины её передвигают шагами, кратными размеру экспонируемой области (процесс step-and-repeat). После каждого передвижения проводится дополнительная проверка правильности позиционирования.

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


Концепция step-and-scan

Это оборудование незаменимо для передовых продуктов южнокорейской компании. За всё время ASML изготовила и отгрузила по миру около 100 таких машин, но более 70% из них достались конкуренту Samsung Taiwan Semiconductor Manufacturing Co.

Судя по всему, машины для фотолитографии в глубоком ультрафиолете по техпроцессу 5нм остаются очень дефицитным товаром, а Samsung всеми силами пытается приобрести их, то есть увеличить свою квоту у ASML.

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

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

Для сторонних аналитиков очевидно технологическое отставание от TSMC, хотя руководство Samsung отказывается это признавать: Наша конкурентоспособность в передовых процессах сопоставима. Мы обеспечили заказы от крупных клиентов и сокращаем разрыв, ответил Ким Кинам, вице-председатель Samsung Electronics и глава подразделения полупроводников, когда его спросили о технологическом разрыве с TSMC на собрании акционеров в марте.

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

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

Масштаб инвестиций огромен. В апреле TSMC сообщила о планах выделить $100млрд на капитальные расходы в течение следующих трёх лет в ответ на глобальный дефицит полупроводников.

Для сравнения, годовой бюджет Российской Федерации составляет около $254млрд в доходной части.

Samsung планирует инвестировать около $40 млрд в 2021 году, но большая часть пойдёт на DRAM и другие чипы памяти, а масштаб инвестиций уступает масштабам TSMC, которая специализируется на контрактном производстве.

По данным тайваньской исследовательской фирмы TrendForce, TSMC наращивает лидерство, увеличив свою долю в контрактном производстве до 56% за Iкв. 2021года (+2п.п. к прошлому году, +8п.п. к позапрошлому), в то время как занимающая второе место Samsung потеряла 1 процентный пункт рынка за тот же период.

Крупные американские клиенты, такие как Apple и AMD, передают почти все свои заказы на аутсорсинг TSMC, и другой фирме выйти на такой же масштаб производства крайне сложно.

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

Снижение конкурентоспособности Samsung в области передовых полупроводников может отразиться на фирменных смартфонах, где используются процессоры и сенсоры изображения CMOS собственного производства. Apple передаёт всё своё производство процессоров на аутсорсинг TSMC, поэтому технологическое отставание Samsung от TSMC может перерасти в отставание производительности смартфонов Samsung от смартфонов Apple.
Подробнее..

TSMC запускает 2-нм линию производства чипов и продвигается к 1-нм рубежу

24.05.2021 14:14:07 | Автор: admin

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

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

Что там у TSMC сейчас?


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


То, что есть у TSMC сейчас улучшенная версия 5-нм технологии, которая получила название N5P. Она дает возможность увеличить частоту работы ядер чипа на 5% или снизить энергопотребление на 10% при той же сложности кристалла, что и в случае обычного 5-нм техпроцесса.

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


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

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

По словам представителей компании, рост производительности 3-нм процессоров по сравнению с 5-нм техпроцессом составит 10-15%. Энергии новые чипы станут потреблять на треть меньше, если сложность будет такой же, как и у 5-нм чипа. Плотность размещения транзисторов увеличивается в 1,1-1,7 раза.

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

А что насчет 2-нм и 1-нм технологий?


Что касается 2-нм чипов, то для них будут создаваться уже транзисторы другого типа, GAAFET (gate-all-around FET). К слову, Samsung переходит на GAAFET уже в 3-нм чипах, что потребует смены инструментов автоматизации электронного проектирования, создания новой инфраструктуры и т.п. TSMC для ускорения работы оставляет все для 4- и 3-нм, но меняет в 2-нм. Сейчас для проведения работ в этом направлении переоборудуется фабрика Fab 12.

Руководство компании в прошлом году заявило о намерении выпустить первые 2-нм чипы не позже 2024 года. Затем сроки сдвинулись на 2023 год благодаря тому, что Apple присоединилась к разработке. Яблочная компания заинтересована в том, чтобы стать первым получателем 2-нм процессоров, поэтому делает для этого все возможное. Скорее всего, производиться такие чипы будут в Китае, на фабрике TSMC в городе Баошань, расположенном рядом с Синьчжу.

Ну и совсем недавно TSMC заявила о технологическом прорыве в разработке 1-нм микросхем. Компания вместе с группой ученых из Национального университета Тайваня (НУТ, National Taiwan University) и Массачусетского технологического института (МТИ, Massachusetts Institute of Technology, США) смогла разработать новую технологию.


Разработчики использовали висмут в качестве контактного электрода, что позволило снизить сопротивление материала и увеличить ток. Уже после этого открытия, сделанного в MIT, технологию стали дорабатывать все участники. Включая TSMC и NTU. Ученые из последнего университета предложили способ сокращения компонентного канала при помощи системы литографии пучка ионов гелия.

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

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

Подробнее..

Rocket Lake для десктопа и рабочей станции

13.05.2021 10:08:31 | Автор: admin
Как и было обещано ранее, процессорный сезон весна лето 2021 года открыли модели Rocket Lake, сначала для домашних компьютеров (Intel Core), а затем для рабочих станций (Intel Xeon W). С момента анонса первых прошло уже достаточно времени, чтобы новинки как следует рассмотрели со всех сторон воспользуемся такой возможностью и мы. А вот вторые, так сказать, с пылу с жару мы никак не можем не упомянуть их в нашей ленте.



Семейство Rocket Lake-S для настольных персональных компьютеров имеет в своем составе ядра Cypress Cove по-прежнему выполненные по 14-нм техпроцессу, но имеющие принципиально новую архитектуру; в десктопном сегменте это крупнейшие изменения с 2015 года. Перечислим основной функционал новой платформы:
  • Улучшенная поддержка ядрами ЦПУ двухразрядных инструкций за такт;
  • Новый контроллер памяти, скорость до DDR4-3200;
  • Интегрированный контроллер PCIe 4.0, до 20 линий;
  • Графика Intel Xe, поддержка 3 дисплеев 4k60;
  • Улучшенные аппаратные медиа кодеки и декодеры HEVC, VP9, SCC, AV1;
  • Встроенный контроллер USB 3.2 (до 20 Гбит/c);
  • Функции Intel Deep Learning Boost и Vector Neural Network Instructions.

По результатам всех этих нововведений рост производительности на такт по сравнению с предшествующим поколением составил 19%, графическая подсистема работает быстрее на 50%. Более подробно о бенчмарках Rocket Lake-S у нас будет возможность поговорить отдельно.

В первой волне было представлено 19 моделей нового семейства категорий i5, i7, i9. Традиционно, в линейке присутствуют модели с возможностью разгона (индекс К), пониженной энергопотреблением (Т) и отсутствующим графическим ядром (F). В целом характеристики процессоров выглядят очень плотно, поэтому для сравнительной таблицы можно обойтись топовыми моделями в каждой из категорий.
Баз. частота Макс. частота Яд./пот. Кеш TDP Цена
i9-11900K 3.5 ГГц 5.3 ГГц 8 / 16 16 Мб 125 Вт $549
i7-11700K 3.6 ГГц 5.0 ГГц 8 / 16 16 Мб 125 Вт $409
i5-11600K 3.9 ГГц 4.9 ГГц 6 / 12 12 Мб 125 Вт $272
Intel позиционирует Rocket Lake-S как отличный вариант для оверклокинга недаром слово Unlocked красуется на упаковке процессора. Для любителей погонять мегагерцы имеются специальные программные средства. Профессионалы также быстро взялись за дело: буквально через несколько недель на компьютере с процессором Core i9-11900K был поставлен рекорд по разгону памяти DDR4 7156 МГц.

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

Что же касается свежепредставленной серии Intel Xeon W-1300, то она как две капли воды похожа описанную выше на линейку Core, поскольку, собственно, является ее двойником. Скажем, топовый процессор Xeon W-1390Р с точностью до всех рабочих частот, характеристик и функциональных возможностей соответствует флагману Core i9-11900K; одно принципиальное различие поддержка ЕСС памяти у Xeon. Индексы здесь расставлены немного по-другому: Т пониженное потребление, Р наоборот, разогнанные показатели производительности. В целом, картина выглядит следующим образом.
Баз. частота Макс. частота Яд./пот. Кеш TDP Цена
Xeon W-1390 2.5 ГГц 5.2 ГГц 8 / 16 16 Мб 80 Вт $362
Xeon W-1390Р 2.8 ГГц 5.3 ГГц 8 / 16 16 Мб 125 Вт $311
Xeon W-1390T 1.5 ГГц 4.9 ГГц 8 / 16 16 Мб 35 Вт $255
Xeon W-1370 2.9 ГГц 5.0 ГГц 8 / 16 16 Мб 80 Вт $494
Xeon W-1370P 3.6 ГГц 5.2 ГГц 8 / 16 16 Мб 125 Вт $428
Xeon W-1350 3.3 ГГц 5.0 ГГц 6 / 12 12 Мб 80 Вт $539
Xeon W-1350P 4.0 ГГц 5.1 ГГц 6 / 12 12 Мб 125 Вт $494
Еще раз повторимся тема Rocket Lake будет нами продолжена.
Подробнее..

Век революций. История процессоров с архитектурой Intel NetBurst. Часть 2

15.05.2021 12:11:56 | Автор: admin

В первой части статьи мы остановились на интересном месте: перед анонсом обновленных Northwood с 800 МГц системной шиной. С момента выхода первых Pentium 4 Willamette прошло уже два с половиной года. Успело смениться два полноценных поколения платформы, два сокета, два ядра и три типа памяти.

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

Rambus попытка номер 3


Вечный аутсайдер SiS наслаждался успехом именно его чипсеты устанавливались в большинство настольных ноутбуков и недорогих компьютеров. Денег прибавилось, прибавилось и амбиций SiS замахнулась на лавры Самого Продвинутого Чипсета Для Энтузиастов да, именно так, с большой буквы. В конце 2002 года, когда Intel уже выпустила свой E7205 (чипсет с поддержкой двухканальной DDR266), пропускная способность которой идеально соответствовала потребностям процессора, в преддверии анонса процессоров с 800 МГц шиной, компания выпускает SiS R658 чипсет с поддержкой двухканальной RDRAM PC4200/4800

Блок-схема чипсета SiS R658 Источник
Это был первый чипсет с поддержкой Rambus не от Intel для x86 процессоров. Он выгодно отличался от уходящего i850E поддержкой AGP 8x и USB 2.0 (который, впрочем, поддерживался в связке i850E+ICH4), а также не очень актуальных UDMA/133 и FireWire400 (IEEE1394). Но оказался совершенно никому не нужен из-за применения редкой и до сих пор (!) дорогой памяти.

В отличие от прежних вариантов RIMM PC600/700/800, новые варианты PC4200/PC4800 использовали 32-битную шину и по сути представляли собой модули, работающие сразу с двумя прежними 16-битными каналами Rambus одновременно. Впервые такие модули начинали использоваться в некоторых платах на i850E (Asus P4T533), но большого распространения не получили, зато платы с ними получили лишь два слота для памяти и ограничение объема до 2 Гбайт против 4 Гбайт в Е7205, в котором присутствовали также и USB 2.0, и AGP 8x.

Результат: только один производитель выпустил плату на R658. Это был Abit IS7/IS7-G, отличавшиеся только моделью интегрированного сетевого контроллера на 100 Мбит/с или 1 Гбит/с соответственно. Как ни странно, некоторое время спустя SiS сделал еще одну, последнюю, попытку создать Hi-End чипсет R659. Он получил поддержку актуальной 800 МГц шины и четырехканальной (!) памяти RDRAM.

Единственная (опять!) анонсированная, но так и не вышедшая на рынок плата Asus P4S13G (при этом в Asus заявляли, что не имели отношения к разработке этой платы!), имела все так же два слота памяти. Для нее потребовались бы новые, теперь уже 64-битные (4 канала, 16 бит) модули RIMM, но этому свершиться было уже не суждено: память RDRAM, спустя почти пять лет страданий, окончательно ушла с рынка.

Из серверов на стол


Если для последовательного интерфейса Rambus многоканальность была чем-то самим собой разумеющимся и планировалась с самого начала (i840), то двухканальная DDR, впервые появившаяся в серверных чипсетах, на пользовательский рынок шла долго. E7205 Granite Bay был первой ласточкой, но и его сложно назвать массовым это скорее чипсет для рабочих станций, нежели для персональных компьютеров, пусть и высокого класса.

Действительно массовыми стали лишь чипсеты семейства i865 Springdale и i875P Canterwood. Они получили поддержку 800 МГц шины (кроме дефорсированного i865P, который официально мог только 533 МГц) и двухканальной памяти DDR400, AGP 8x, USB2.0, нового интерфейса жестких дисков SATA, который дожил до наших дней. Топовые платы комплектовались южным мостом ICH5R, поддерживающим SATA RAID пока только 0 и 1 уровней, с полупрограммной реализацией.

Для интеграции гигабитных сетевых контроллеров была предусмотрена выделенная шина CSA Communication Streaming Architecture, иначе узким местом становилась уже PCI, пропускную способность которой пришлось бы делить на всех. Интересно, что более скоростные версии шины на десктопах так и не прижились, хотя классической 33 МГц 32-битной версии было недостаточно.

Блок-схема чипсета Intel 875P Источник
Intel 875P позиционировался как замена Granite Bay и поддерживал также ECC и некую PAT Performance Acceleration Technology, фактически несколько уменьшающую задержки в контроллере памяти. С ней вышел небольшой скандал очень быстро стало известно, что ее можно включить и на чипсетах серии i865, даже на интегрированных версиях главное, чтобы не было активным встроенное видео.

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

Новым чипсетам сопутствовали и новые процессоры с частотами от 2.4 до 3.2 ГГц, 800 МГц системной шиной, ради которой и создавались новые чипсеты, Hyper-Threading и прежним ядром Northwood.

В коллекции Digital Vintage не так много экспонатов этого периода. Однако без системы на основе чипсета Intel 875P обойтись решительно невозможно. Встречайте SERVERGHOST Catalina P7/3 SE по прозвищу Blackie. В этой машине так совпало, что практически все ее компоненты черного (ну почти) цвета.


В качестве системной платы использована модель для энтузиастов Intel D875PBZ Bonanza, интересная отсутствием встроенного звука компьютер высшего уровня должен иметь отдельную звуковую карту. Также эта плата поддерживает разгон, в огромных пределах по мнению Intel, и очень скромный на самом деле +4% :)

Комплектация:

  • Материнская плата Intel D875PBZ
  • Процессор Intel Pentium 4 3.2 ГГц
  • 3 Гбайт ОЗУ DDR-400, два канала (чипсет поддерживает до 4 Гбайт, но область выше 3328 Мбайт занимает адресное пространство PCI шины)
  • Видеокарта ATi Radeon 9600XT 128 Мбайт
  • Звуковая карта Creative Audigy SE
  • 250 Гбайт жесткий диск с интерфейсом SATA
  • ОС Windows XP Professional SP2

Удар под дых


Несмотря ни на что, Intel была сильна и практически не встречала конкуренции в средних сегментах. Сверху давление ослабевало начался упадок RISC, не снискал успеха даже Itanium, детище самой Intel. А вот снизу поджимала AMD. Athlon XP почти на равных сражался с Pentium 4, он даже первым получил массовый двухканальный чипсет NVIDIA nForce 2 Ultra.

Athlon XP 2500+ считался тогда оптимальным выбором энтузиаста, первое время связка из Pentium 4 2.4E (этой буквой обозначались процессоры с 800 МГц шиной и HT) и платы на i865PE стоила значительно дороже Athlon и платы на nForce 2 Ultra.

Но основной удар AMD нанесла в 2003 году с выпуском 64-битных процессоров K8. Компания разработала 64-разрядное расширение архитектуры еще в 2000 году и три года готовилась к выпуску первых процессоров. AMD посягнула не только на настольный рынок (Athlon 64 Socket 754, позднее 939), но и на серверный (Opteron Socket 940), причем от начального уровня до самого топа сразу были анонсированы процессоры для одно-, двух- и восьмипроцессорных серверов.

Автору довелось побывать на российской презентации Opteron летом 2003 это был оглушительный успех. На пике AMD удалось занять 10 % серверного рынка и около трети настольного. Intel пришлось наращивать темпы развития!

Основным отличием ранних настольных Athlon 64 был одноканальный контроллер памяти. С ним процессоры обеспечивали достаточную производительность, чтобы на равных соперничать с Intel, но AMD было необходимо продемонстрировать не равный, а превосходящий уровень. Так появились процессоры Athlon FX (Socket 940), с двухканальным контроллером памяти.

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

Ответ Intel не заставил долго себя ждать так появились процессоры Pentium 4 Extreme Edition. Как и в случае с конкурентом, они были близкими родственниками серверных решений в данном случае Xeon Gallatin с 2 Мбайт кэша третьего уровня. Частота первой модели составила 3.2 ГГц, как и у старшего на тот момент Northwood. Не обошлось без поддержки 800 МГц шины и Hyper-Threading. Главной особенностью его стала цена $999 в партиях от 1000 штук, на тот момент это был самый дорогой настольный процессор.

Замедлим, чтобы ускорить


Последней моделью Northwood стала версия на 3.4 ГГц, новые надежды возлагались на грядущее 90-нм ядро Prescott. В некоторых источниках даже называли их Pentium 5, но новинка вышла 1 февраля 2004 года под прежним наименованием. Отличий было и в самом деле немало: еще более длинный конвейер, 31 стадия вместо 20, а также удвоенный кэш второго уровня (1 Мбайт) и улучшенный блок предсказания ветвлений для компенсации спорного нововведения.

Частоты начинались с 2.8 ГГц и первое время достигали лишь 3.2 ГГц, на 200 МГц меньше предшественника, впрочем 3.4 ГГц версия не заставила себя долго ждать. 2.8 ГГц модель вышла в двух версиях с 800 МГц шиной и Hyper-Threading и 553 МГц шиной и без виртуальной многопроцессорности. Модели от 3.0 ГГц также впервые получили поддержку IEST (Intel Enhanced Speedstep), при невысокой нагрузке частота их снижалась до 2.8 ГГц, что положительно сказывалось на тепловом режиме процессора.

А с тепловыделением как раз были проблемы: TDP старших моделей достигло 103 Вт виной тому стали, предположительно, высокие токи утечки, свойственные интеловскому 90-нм техпроцессу.

С производительностью тоже было не очень гладко. Кратко прироста практически не было. Более того, в части тестов Prescott выступал на равных или немного отставал от Northwood не спасал даже удвоенный кэш. Intel апеллировала к заметно лучшему частотному потенциалу Prescott, но в рамках платформы Socket 478 старшей моделью так и осталась версия на 3.4 ГГц. На этой же частоте работал второй (и последний для Socket 478) Pentium 4 Extreme Edition, унаследовавший ядро Gallatin от предшественника.

Новая шина на века или давайте отрежем процессору ноги


Совсем скоро, летом 2004 года произошла очередная спланированная Intel революция. Выход новых чипсетов серии Intel 915/925X ознаменовал значительные изменения:

  • PCI Express (PCI-E) новая последовательная шина для устройств расширения.
  • HD Audio (HDA, Azalia) новый стандарт для подключения аудиокодеков, призванный заменить устаревший AC97.
  • DDR2 новый стандарт оперативной памяти.
  • LGA775 новый сокет.

Самым важным из этих изменений стала, конечно, новая шина PCI-E, обеспечивающая пропускную способность 250 Мбайт/сек на одну линию (Lane) и способная объединить линии вплоть до x16 каналов для обеспечения потребностей видеокарт и мощных дисковых контроллеров. В стандарт была заложена возможность построения х32 каналов, но так и не была практически реализована.

Первыми на новую шину как раз переехали видеокарты и гигабитные сетевые адаптеры, чуть позже RAID-контроллеры. А вот остальные устройства переезжали на новую шину очень медленно: прошло несколько лет, прежде чем ТВ-тюнеры и звуковые карты PCI-E стали распространены.

Модифицированная PCI-E x4 под названием DMI использовалась и для связи северного и южного мостов (простите, хабов!). Северный мост обеспечивал 16 линий PCI-E для видеокарты, если 4 линии предоставлял южный мост.

От новых звуковых кодеков пользователи ожидали прорыва в качестве звука, ведь на бумаге все выглядело очень достойно 24-битный 7.1 канальный звук с частотой дискретизации до 96 КГц и даже до 192 КГц и 32 бит в 2.0 (стерео) режиме. Фактически же на большинстве плат использовались дешевые кодеки с гораздо более скромными параметрами, хотя на топовых платах выстроенный звук действительно подтянулся по качеству к отдельным звуковым картам.

К сожалению, эта инициатива пагубно сказалась на развитии технологии позиционирования источников звука EAX от Creative, а отказ Microsoft в 2006 году от ее поддержки в Windows Vista добил окончательно.

Неоднозначное восприятие получила и DDR2 новая память лишь немного (533 МГц против 400) увеличила пропускную способность, но практически удвоила задержки. Только начиная со следующей итерации 667 МГц, преимущество стало действительно заметным. Впрочем, платы на Intel 915 выпускались как с поддержкой DDR2, так и обычной DDR, встречались и комбинированные модели.

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

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

Блок-схема чипсета Intel 925X/XE Источник
Как и многие революционные продукты, первое поколение PCI Express чипсетов от Intel не снискало ожидаемой популярности. Очень многим не хотелось расставаться с уже купленной памятью и, особенно, видеокартами. Долгое время продолжали выпускаться платы на основе Intel 865PE и 865G, оснащенные новым сокетом.

Были выпущены и пара моделей на 875P. Более того, чипсеты 865 серии значительно пережили 915/925 и даже 945 серии уже во времена господства Intel 965 выпускались платы на их основе с поддержкой Core 2 Duo и даже Quad! Самая известная из них ASRock ConRoe865PE, полноразмерная АТХ плата, выпущенная аффилированной с Asus компанией, куда, судя по всему, головное предприятие отправляло своих самых изобретательных инженеров.

В отличие от Intel 915/925, старый чипсет отлично разгонялся и, как в свое время 440BX, без проблем работал с повышенной частотой шины. 1066 МГц против штатных 800 не были пределом в большинстве случаев платы достигали 1200 МГц по шине и только появление процессоров с 1333 МГц шиной ознаменовало уход этих трудяг на заслуженную пенсию.

Известны и обратные случаи с Socket 478 выпускались платы на чипсетах серии 915 и более поздних. Последний известный пример плата Biostar G31-M4, основанная на чипсете-наследнике 965 серии G31. Другой пример занятных симбиозов появление AGP слота на платах с чипсетами, его не поддерживающими. Это было возможно благодаря тому, что сам AGP является расширенной версий PCI. Но при этом, и пропускная способность падает до уровня PCI, с 2133 Мбайт/сек (AGP 8x) до 133 Мбайт/сек, которые приходилось делить с остальными устройствами на шине.

Понятное дело, что говорить о мало-мальски приемлемой производительности таких решений бессмысленно. Самым тяжелым случаем были платы на 915GV/GL, чипсетах без поддержки внешнего разъема PCI-E x16 для видеокарты, оснащенные одновременно таким квази-AGP и заодно квази-x16 слотом для видеокарты, фактически располагающим лишь 4 линиями PCI-E.

В это же время начали сокращаться линейки чипсетов сторонних производителей. Платы с ними становились все более редкими и уходили в самые бюджетные сегменты рынка. SiS очень долго держался за AGP и DDR1 в своих SiS 661/662 практически аналогах i865G и только в SiS 671/672 перешел на PCI-E и DDR2. Попытка выпустить чипсет более высокого уровня, SiS 656FX с поддержкой современных технологий, не увенчалась особыми успехами платы на нем можно пересчитать по пальцам. В итоге SiS 672FX и предназначенный для AMD K8 SiS 771 стали последними чипсетами компании.

VIA тоже переживала не лучшие времена и в основном сконцентрировалась на решениях для собственных процессоров. Тем не менее, список выпущенных ею новинок довольно длинный. Но, так или иначе, все они отличаются друг от друга незначительно. Достойны внимания PT880, первый двухканальный чипсет VIA, в поздних версиях (PT880 Pro/Ultra) поддерживающий DDR2 и PT900, первый PCI-E чипсет. Остальные модели либо интегрированные версии, либо отличаются в основном поддерживаемыми частотами.

Серию довольно интересных интегрированных чипсетов с весьма производительными по меркам этого класса видеорешениями представила ATI. Это серия RS400/RC400 с видеоядром класса Radeon X300 и RS600 с Radeon X700. Эти чипсеты позволяли объединять мощности встроенного и дискретного видеоадаптера (для нескольких моделей бюджетного сегмента).

Технология называлась CrossFire Hybrid. Также, на волне популярности систем с двумя видеокартами, был выпущен чипсет RD600 c поддержкой обычного CrossFire из двух идентичных видеокарт. После приобретения ATi компанией AMD все работы по чипсетам для Intel были свернуты, а чипсеты ATi (теперь уже AMD) стали родными чипсетами для процессоров компании.

Блок-схема чипсета NVIDIA nForce 4 SLI (Intel Edition) Источник
Коротким, но ярким феноменом стала популярность чипсетов nForce от NVIDIA. В эпоху увлечения SLI и CrossFire, nForce 4 был единственным официальным способом построить систему с парой GeForce в режиме SLI. В случае платформы Intel, изначально нацелевшись на верхний сегмент, nVidia добилась немалых успехов в среде энтузиастов, оверклокеров и просто обеспеченных пользователей. Вплоть до последних Core 2 чипсеты nForce были достойными конкурентами наборов от Intel, но, к сожалению, с выходом следующего поколения Core, NVIDIA ушла из чипсетного бизнеса.

Расширенная память или 64-битные вычисления?


Первое время после выхода процессоров с архитектурой AMD64 Intel заявляла, что не считает это расширение x86 полноценной 64-битной архитектурой. Но время распорядилось иначе, и Intel пришлось выпустить свои процессоры, совместимые с AMD64. Первыми стали Xeon на ядре Nocona, выпущенные летом 2004 года. 64-разрядные расширения в терминологии Intel стали называться Extended Memory 64 Technology (EM64T), демонстрируя главную, по мнению создателей, пользу от обновления увеличение объемов адресуемой напрямую памяти.

При этом первая реализация от Intel не была полностью совместима с версией от AMD не поддерживалась команда XD (NX, EDB, Execute Disable Bit). Ее поддержка была добавлена в степпинге E ядра Nocona и в 32-битных Prescott с литерой J в обозначении. Еще спустя немного времени появились Prescott 5x1 с полноценной поддержкой 64-битных вычислений.

Так история повернула ситуацию на 180 градусов раньше AMD выпускала процессоры с архитектурой Intel x86/IA-32, а теперь Intel выпускает процессоры, архитектура которых официально называется AMD64, хотя во многих источниках упоминается и нейтральное наименование x86-64 или x64.

В коллекции Digital Vintage это поколение представлено компактным компьютером IBM ThinkCenter M51 SFF. Очень небольшой системный блок с серьезной для своего времени начинкой, единственный компромисс встроенное видеорешение.

Комплектация:

  • Pentium 4 541 (3.2 ГГц, 1 Мбайт кэша)
  • 2 Гбайт ОЗУ DDR2-533
  • 160 Гбайт жесткий диск SATA
  • Чипсет Intel 915G
  • ОС Ubuntu 6.06 LTS

Наполеоновские планы


Первое время после выхода Prescott Intel планировала быстро достичь частот 4 ГГц и даже 5 ГГц. В дальнейшем планировались к выходу новые процессоры Jayhawk и Tejas, которые должны были достичь отметки 10 ГГц.

Новые модели действительно появлялись, но в большей степени это касалось новых версий и расширения модельного ряда вниз появились Pentium 4 с частотой 2.4 ГГц и Celeron D от 2.13 до 3.33 ГГц (кэш L2 имел объем 256 Кбайт). Более высокочастотные же версии практически не появлялись. Вышли лишь 3.6 и 3.8 ГГц модели. В спецификациях Intel до сих упоминается 4.0 ГГц модель, но она так и не была выпущена в свободную продажу.

Только спустя почти 10 лет, в 2013 году, Intel удалось взять 4 ГГц рубеж с Core i7-4770K (мы говорим о базовой частоте). Tejas и Jayhawk были отменены. Так закончилась великая Гонка Частот, а Intel была вынуждена ввести модельные номера вместо обозначения частоты процессора.

Выходили и новые Pentium 4 Extreme Edition сначала 3.46 ГГц модель, получившая шину с частотой 1066 МГц, специально для этого процессора был выпущен чипсет Intel 925XE. Потом 3.73 ГГц на ядре Prescott 2M с 2 Мбайт кэшем. Но от основной линейки он теперь отличался лишь частотой шины, удвоенный кэш достался и ей (модели Pentium 4 6x0).

Два в одном!


Тем временем, в начале 2005 года, AMD выпускает и первые двухъядерные модели, имеющие на одном кристалле два полноценных вычислительных ядра. Intel с почти полугодовой задержкой отвечает процессором Pentium D, представляющим собой два кристалла Prescott в одном корпусе. Двухчиповая компоновка применена впервые со времен Pentium Pro!

Новые процессоры работали на частотах от 2.8 до 3.2 ГГц с шиной 800 МГц. Hyper-Threading не поддерживалась, а объем кэша вернулся к значению 1 Мбайт на ядро эти ограничения диктовал ужасный аппетит, Pentium D выделял 130 Вт тепла. Лишь 2.8 ГГц модель удалось уместить в рамки 95 Вт теплового пакета.

Позже добавилась модель Pentium D 805 на 2.66 ГГц с шиной 533 МГц этот процессор стал первым бюджетным двухъядерным процессором. Параллельно появился и свой Extreme Edition, разделивший модельный номер 840 с самым быстрым представителем основной линейки. Единственным отличием от него была поддержка Hyper-Threading.

Блок-схема чипсета Intel 955X Источник
Двухъядерным процессорам сопутствовали новые чипсеты Intel 945/955X, принесшие поддержку более быстрой памяти DDR2-667, NCQ/AHCI и полупрограммного RAID5 в версиях с южным мостом ICH7R. Платы с Intel 915/925 не получили поддержку новых процессоров, а вот на базе Intel 865 опять было выпущено несколько интересных моделей.

Территория динозавров


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

Как SATA сменил IDE, также на смену SCSI пришел SAS Serial Attached SCSI, разделяя общий физический уровень с SATA, но используя расширенный набор команд SCSI. И наоборот из SCSI в SATA пришел набор команд для управления очередями, NCQ (Native Command Queuing), часть программного интерфейса AHCI.

Но вернемся в 2003 год. Xeon по-прежнему использовали 533 МГц шину и чипсеты серии E7501/7505. Это были довольно сложные и дорогие чипсеты, но Asus дал Xeon дорогу в недорогие рабочие станции. Плата Asus PC-DL на основе чипсета Intel 875P работала с двумя Xeon Prestonia/Gallatin, а стоила лишь на 10% дороже однопроцессорной платы Asus P4C800-E Deluxe.

Блок-схема чипсета Intel E7525 Источник
В 2004, с приходом Nocona, основными стали чипсеты Е7520/Е7525 с PCI-E в качестве основной шины и поддержкой 800 МГц процессорной шины. Именно в системах с E7525 тестировалась технология nVidia SLI (Scalable Link Interface), объединяющая две видеокарты в одной системе для увеличения производительности в 3D.

Как и в случае с Prescott, вскоре вышло обновление с удвоенным объемом кэша Irwindale. А для серверов с числом процессоров 4 и более появились Cranford и Potomac, оба под именем Xeon MP. Первый был функциональным аналогом Prescott c 1 Мбайт кэша L2, второй же получил 4 или 8 Мбайт кэша L3 в зависимости от модели.

Оба варианта Xeon MP использовали все тот же Socket 604 и шину с частотой 667 МГц (этот вариант частоты шины десктопные процессоры не использовали). Для таких систем предназначался чипсет Intel E8500 с поддержкой двух независимых процессорных шин, убирающих еще одно бутылочное горлышко архитектуры общую шину для всех CPU в системе.

Блок-схема чипсета Intel E8501 Источник
Первые двухъядерные Xeon, Paxville DP, появились осенью 2005 года. В отличии от десктопных собратьев им не потребовался даже новый чипсет. Не говоря уже о старом добром сокете 604. Его собрат из семейства Xeon 7000 Paxville MP новый чипсет все же получил, E8501 отличался поддержкой шины 800 МГц.

Оба Paxville в целом были аналогичны Pentium D Smithfield, но в старших версиях имели 2х2 Мбайт кэша и невероятный TDP 165 Вт. Именно по этой причине Paxville MP не получил версии с кэшем L3, тепловыделение вышло бы за все разумные рамки.

Последними Xeon с микроархитектурой Netburst, стали Dempsey (Xeon 5000 для двухпроцессорных систем) и Tulsa (Xeon 7100), выпущенный по 65-нм техпроцессу. Первый традиционно соответствовал настольному Presler, а второй получил до 16 Мбайт кэша L3 и чуть меньший TDP, чем у предшественника, до 150 Вт.

Один из интереснейших экспонатов Digital Vintage четырехпроцессорный сервер HP ProLiant DL580 G4. Он построен на базе процессоров Xeon 7030 с частотой 2.8 ГГц и поддерживает обновление до процессоров серии Xeon 7100.


Его необычной особенностью являются платы памяти с горячей заменой (до 4 плат по 4 модуля DDR2-400 Reg. ECC) и съемная процессорная плата. Этот сервер рассчитан на работу в качестве сервера баз данных с высочайшими нагрузками и даже сегодня, спустя более 15 лет с момента выпуска может быть использован как сервер начального уровня!


Комплектация:

  • 4 процессора Intel Xeon 7030 (2.8 ГГц, 4 Мбайт кэша)
  • 12 Гбайт ОЗУ
  • 2 SAS диска по 146 Гбайт (2.5 10k rpm)
  • 2 блока питания по 1500 Вт

Смена курса


В начале 2006 года появились первые 65-нм процессоры Cedar Mill (одноядерные) / Presler (двухъядерные). Тепловыделение снизилось до 65 и 95 Вт соответственно, лишь топовые модели и Extreme Edition получили разрешение выделять в атмосферу до 130 Вт тепла.

Улучшился разгонный потенциал, все версии процессоров получили 2 Мбайт кэша на ядро, в некоторых версиях уже присутствовала поддержка технологии VT. Но частоты не росли. Да, двухъядерные модели почти сравнялись с одноядерными, но в абсолютном выражении это были лишь 3.6 ГГц для основной линейки и 3.73 для Extreme Edition. Время Pentium прошло.

Иногда они уходят


С именем Pentium связано многое, с ним знакомы даже очень далекие от IT люди. Но бывает момент, когда славное имя должно уйти на покой. После фиаско в Гонке Частот его должен был сменить новый герой. И имя его уже тогда было известно Intel Core. Одновременно с Presler и Cedar Mill, под этим именем появились мобильные процессоры Yonah, двухъядерные наследники Pentium M, историю которого вы узнаете из следующей статьи, последней из цикла об истории Pentium.

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

Подробнее..

Новые Tiger Lake, приятное и мощное дополнение

20.05.2021 10:09:10 | Автор: admin


Первое 10-нм мобильное семейство процессоров Tiger Lake, стартовавшее в 2020 году, к нынешнему моменту получило уже несколько обновлений, в том числе в виде Celeron и Pentium. Не хватало только хардкора, топовых моделей для самых продвинутых мобильных устройств. И вот ожидания энтузиастов и геймеров вознаграждены: анонсирована Н-серия Intel Core с 6 и 8 ядрами, а также несколько Xeon с индексами W-11000.

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

Модельный ряд Типовое TDP Диапазон TDP Примечание
Ранее Y-Series, теперь модели с 0 на конце - 7-15 Вт Новый супер-компактный форм фактор с повышенной энергоэффективностью
Ранее U-Series, теперь модели с 5 на конце 15 Вт 12-28 Вт Ультрапортативные устройства 10-14, обычно со встроенной графикой
H35-Series 35 Вт - Новая серия для Tiger Lake, скорее, умощненная U, чем Н
H-Series 45 Вт 35-65+ Вт Высокопроизводительные процессоры для моделей 14-17 с дискретной графикой игрового класса или замена настольного ПК
Схема интерфейсов ввода-вывода для Н-серии выглядит так. Ключевое отличие от предыдущих линеек больше ядер, больше потоков и больше линий PCIe 4.0 (20 штук) во встроенном контроллере для прямого подключения хранилища и акселераторов. Количество исполнительных элементов в графическом ядре сокращено до 16-32 EU, поскольку предполагается использование внешней графики.



Количественные характеристики процессоров Tiger Lake-Н.
Турбо частота Частота Яд./пот. Кеш TDP Граф. EU Цена
i9-11980HK 5.0 ГГц 3.3 / 2.6 ГГц 8 / 16 24 Мб 45-65 Вт 32 $583
i9-11950H 5.0 ГГц 2.6 / 2.1 ГГц 8 / 16 24 Мб 35-45 Вт 32 $556
i9-11900H 4.9 ГГц 2.5 / 2.1 ГГц 8 / 16 24 Мб 35-45 Вт 32 $546
i7-11850H 4.8 ГГц 2.5 / 2.1 ГГц 8 / 16 24 Мб 35-45 Вт 32 $395
i7-11800H 4.6 ГГц 2.3 / 1.9 ГГц 8 / 16 24 Мб 35-45 Вт 32 $395
i5-11500H 4.6 ГГц 2.9 / 2.4 ГГц 6 / 12 12 Мб 35-45 Вт 32 $250
i5-11400H 4.5 ГГц 2.7 / 2.2 ГГц 6 / 12 12 Мб 35-45 Вт 16 $250
i5-11260H 4.4 ГГц 2.6 / 2.1 ГГц 6 / 12 12 Мб 35-45 Вт 16 $250
Обращает на себя внимание флагманская модель i9-11980HK с возможностью разгона (индекс К). Идея оверклокинга для мобильного процессора выглядит небесспорной, однако по своим параметрам он выглядит ближе к десктопным, согласитесь. Как бы то ни было, это первая 10-нм модель с разгоном в портфолио Intel.

Как и в случае с Rocket Lake, помимо линейки Intel Core за тот же заход пополнилось и семейство Intel Xeon W для рабочих станций. Поскольку в данном случае речь идет о мобильных процессорах, их характеристики и позиционирование несколько ниже, а серия называется W-11000. Это базовый элемент для ноутбуков на замену рабочих станций.
Турбо частота Частота Яд./пот. Кеш TDP Граф. EU Цена
W-11955M 5.0 ГГц 2.6 / 2.1 ГГц 8 / 16 24 Мб 35-45 Вт 32 $450
W-11855M 4.9 ГГц 3.2 / 2.6 ГГц 6 / 12 18 Мб 35-45 Вт 32 $623
Опять-таки, как в случае с Rocket Lake отличия Xeon от Core в поддержке профессионально значимых и корпоративных технологий, таких как ECC Memory, vPro, Intel Hardware Shield, Total Memory Encryption и прочих.

Устройства на базе Tiger Lake-Н появятся в продаже в течение этого года.
Подробнее..

Иногда они возвращаются. История Intel Pentium M

29.05.2021 12:13:17 | Автор: admin

Сегодня нашим героем станет процессор, который не должен был появиться вовсе, но вместо этого завоевал невероятную популярность и изменил ход истории. Вы, конечно, уже прочитали заголовок и понимаете, что речь пойдет о представителе микроархитектуры P6, наследнике Pentium III мобильном процессоре Intel Pentium M.

Это завершающая статья из цикла об истории процессоров Intel Pentium, ведь несмотря на то, что процессоры Pentium 4/D на основе технологии NetBurst производились несколько дольше, чем Pentium M, именно на основе мобильных процессоров были спроектированы следующие поколения процессоров Intel Core и Core 2.

Каким вы представляете себе ноутбук? Легким, тонким, холодным и способным проработать без подзарядки целый рабочий день? В 2002 году, Intel убеждала нас, что ноутбук должен быть быстрым. А быть быстрым в 2002 году значило быть Pentium 4. И если в настольных компьютерах этот подход срабатывал, а на кулеры массой в килограмм и в полтора раза возросшие номинальные мощности блоков питания никто не обращал внимания, то носить лишние полкило, а то и килограмм, в портфеле или рюкзаке мало кому было по душе.

Портативные утюги


Еще с 2001 года, Intel убеждала своих клиентов, что Pentium III выдохся. Но единственным вариантом для субноутбуков и в 2002 оставался старый добрый Mobile Pentium III-m Tualatin. Ведь Pentium 4-m выделял 35 Вт тепла, а кроме Enhanced Intel SpeedStep, других технологий энергосбережения как таковых и не имел то есть даже без нагрузки, выделял в атмосферу около 5-10 Вт! А еще, он требовал дискретного видеоадаптера интегрированные чипсеты от конкурентов появились уже в 2003 году, под конец жизненного цикла мобильного Northwood.

Это были ATi Radeon IGP, применявшиеся в IBM ThinkPad R40e, и SiS M650 король дешевых ноутбуков, ставший сверхпопулярным в устройствах с настольными Pentium 4 и Celeron. Intel же на тот момент предлагала лишь Intel 845MP флагманский чипсет с поддержкой DDR памяти и AGP 4x для дискретной видеокарты.


В результате, великолепный, без скидок, ThinkPad T30 набрал 3 мм толщины и 300 грамм веса в сравнении с предшественником Т23. И если Т23 даже в жару не испытывал проблем с теплоотводом и шумом, то Т30 стал склонен к перегреву и становился заметно слышен даже при невысокой нагрузке. Время работы от батарей сократилось на час с 3.5 до 2.5 часов.

Что же говорить о других, менее скрупулезно разработанных машинах. Автору довелось владеть Dell Latitude C840 и переехать на ThinkPad T30 именно из-за непомерного для ежедневного использования веса комплект с блоком питания весил около 4 кг.

Частота десктопных процессоров тем временем росла и росла, достигнув 3 ГГц уже к концу 2002 года. Pentium 4-m с трудом дотянул до 2.6 ГГц и остался на 400 МГц шине иначе теплопакет неминуемо вырос бы еще сильнее. Партнеры Intel взвыли не хоронить же целый сегмент рынка! Причем взвыли они скорее всего еще раньше, еще после первых тестов Pentium 4-m, иначе бы Intel не успела подготовить решение столь оперативно.

Дитя Tualatin и Northwood


Тем временем, в израильском центре разработок Intel, давшем миру набор команд MMX и мертворожденную Timna, кипела работа. Готовилась к выходу новая платформа для тонких и легких ноутбуков под кодовым именем Carmel (это имя уже использовалась ранее так назывался чипсет Intel 840). Учтя уроки, полученные при реализации проекта Timna, разработчики решили взять лучшие элементы из уже имеющихся разработок Intel и приправить необходимыми новыми технологиями энергосбережения.

Результатом их исследований и стали процессоры Banias и чипсеты Montara. А весь этот комплект при выходе получил имена Intel Centrino (платформа), Pentium M (процессор) и Intel 855PM/GM (чипсет с дискретной и интегрированной видеосистемой соответственно).

Новые продукты были официально представлены в марте 2003 года и тут же получили восторженные отзывы компьютерных критиков: новые процессоры с частотой от 1.3 до 1.6 ГГц (впоследствии до 1.7) на равных тягались с настольными Pentium 4 с частотой от 2.0 до 2.6 ГГц, но только начиная с 2.8 ГГц настольные системы вырывались вперед.

Pentium 4 сумел ненадолго восстановить свои позиции с выходом моделей на 800 МГц шине и двухканальных чипсетов, но одновременно развивался и Pentium M. Сложилась уникальная ситуация, когда топовые модели ноутбуков практически сравнялись по производительности с десктопами тогда же появились быстрые диски на 7200 об/мин, а видеокарты были еще не столь сложны и горячи.

Самое интересное, как водится, внутри. Ядро процессора было выполнено по 130 нм техпроцессу и насчитывало 77 миллионов транзисторов против 55 миллионов у Pentium 4. Площадь ядра 84 мм2, меньше, чем у Northwood (131 или 146 мм2) и это в рамках одинакового техпроцесса! Само ядро отличалось от Northwood кардинально. Фактически, это был значительно обновленный Tualatin, представитель архитектуры P6.

Наиболее заметные изменения были это увеличенный до 1 Мбайт кэш, что тогда ассоциировалось скорее с серверными Xeon, и 400 МГц шина QPB (Quad Pumped Bus), знакомая по процессорам поколения Pentium 4. Что характерно, именно шина была узким местом Pentium III, ограничивая скорость работы с памятью. Израильская команда не рискнула повторить попытку интеграции контроллера памяти в процессор (первой попыткой была пресловутая Timna), но даже без этого процессор получил значительный прирост производительности.

Самое замечательное, что потребление энергии и, соответственно, тепловыделение только уменьшились. Сами процессоры имели предельную рассеиваемую мощность в диапазоне от 21 до 25 Вт для основной линейки, также были выпущены и низковольтные версии с TDP 7 Вт для серии ULV (900-1100 МГц) или 12 Вт для серии LV (1100-1300 МГц). Но это максимальные значения без нагрузки процессоры умели значительно экономить заряд батареи при низкой и неполной нагрузке. EIST позволял снижать частоту ядра до 600 МГц, вместо 1200 МГц у предшественника, одновременно еще сильнее снижая напряжение питания чипа.

Стали доступны и более глубокие режима сна, Deep Sleep (режим C3 ACPI) и Deeper Sleep (C4). Не менее важно и то, что эти же функции поддерживались чипсетом и беспроводным адаптером. Для бюджетных и еще более эффективных ноутбуков была создана версия чипсета с интегрированным видеоадаптером, также поддерживающим энергосберегающие функции, при этом не уступающем в двухмерной графике дискретным адаптерам и имеющем сносную производительность в 3D.

Источник
Чипсеты были отнесены к топовой 850 линейке, хотя функционально они повторяли модели Intel 845E/G одноканальный контроллер памяти, AGP 4x, южный мост ICH4 c USB 2.0 и IDE контроллерами. Но все это было настолько щедро приправлено энергосберегающими технологиями, что позволило отнести наборы микросхем к новому семейству.

Благодаря этим нововведениям, новые ноутбуки стали значительно холоднее, стали дольше работать от батарей, а толщина их уменьшилась. Как пример, приведем IBM ThinkPad T40p, замену T30. Он стал тоньше на целый сантиметр (!) 25.4 мм вместо 36.6 мм, стал вдвое дольше работать без подзарядки (со стандартной батареей), а проблемы с перегревом и шумом остались в прошлом.

Также, благодаря удачному (без сарказма удачному) маркетинговому ходу Intel, рекламировавшей именно платформу Intel Centrino, а не отдельные ее компоненты и включившей в состав адаптер Wi-Fi, беспроводные сети начали свое победное шествие по планете.


Характерным представителем первого поколения Pentium M можно назвать IBM ThinkPad T41, классическую модель бизнес-класса. Тонкий и легкий ноутбук с мощным процессором, в топовых комплектациях оснащался экраном с высоким разрешением и мощным видеоадаптером. Именно дизайн сороковой серии (Т40 Т43) можно назвать вершиной художественной мысли сотрудников студии дизайна IBM в Ямато.

Конфигурация экземпляра Digital Vintage:

  • 14 экран с разрешением 1024х768
  • Процессор Pentium M 1.6 ГГц
  • 1 Гбайт ОЗУ DDR266
  • 40 Гбайт жесткий диск (5400 об/мин)
  • ATi Mobility Radeon 7500 с 32 Мбайт видеопамяти
  • Intel Pro/Wireless Wi-Fi адаптер
  • DVD/CD-RW дисковод
  • ОС OS/2 Warp 4 MCP2 Merlin

Больше процессоров, хороших и разных


По давней традиции самой Intel первым делом любой Pentium обзаводился Celeronом на аналогичном ядре. По той же традиции первым делом страдает кэш в данном случае он вернулся к туалатинно-нортвудовским 512 Кбайтам. Шину урезать было некуда, 400 МГц самый младший вариант QPB. На удивление, не сильно досталось и экономичности, сохранили даже EIST, но только в ULV моделях.

Celeron M ULV предназначался не для сверхбюджетных ноутбуков, а для среднего ценового сегмента для разумного удешевления на тот очень дорогих или очень медленных (Transmeta Crusoe) субноутов. Несколько позже, уже после введения модельных номеров, появились версии со стандартным напряжением питания поддержку части технологий энергосбережения они потеряли, но все равно остались значительно более холодными, чем их собратья на ядре Northwood.
Любопытный факт: из полноценных Banias, только Pentium M 705 (1.5 ГГц) получил модельный номер и продолжал выпускаться после выхода следующего поколения.
В свое время, Celeron 266 МГц получил прозвище Кастрат для удешевления его полностью лишили кэша второго уровня. После обильной критики Intel добавила в новых моделях 128 Кбайт полноскоростного кэша, чем спасла репутацию бренда Celeron. Но идея, видимо, совсем отброшена не была. В 2004 году, появились упоминания ядра Shelton, версии Banias без кэша L2.

В производство отправилась лишь одна модель Celeron 1.0B, которая производилась в корпусе BGA под пайку и поставлялась установленной в материнскую плату Intel D845GVSH, первую плату в форм-факторе Mini-ITX не от VIA. Продавались эти платы в развивающихся странах.

В том же 2004 появилось второе поколение Pentium M ядро Dothan, получившее целых 2 Мбайт кэша второго уровня и перешедшее на 90 нм техпроцесс. Удвоен был и кэш первого уровня. Количество транзисторов увеличилось до 140 миллионов при практически неизменной площади ядра 83.6 мм2. Частоты стандартной версии Dothan от 1.5 до 2.1 ГГц при частоте шины 400 МГц. Младшая модель при этом обозначалась номером 715, производство 705 модели с той же частотой продолжилось.

Новых чипсетов анонсировано не было, разве что незадолго до выхода новых процессоров появился Intel 855GME, получивший поддержку DDR333 вместо DDR266 и несколько повышенные частоты видеоядра. Дискретный чипсет зависел от пропускной способности памяти в меньшей степени (хотя до полного соответствия быстродействия шины и памяти им всем было далеко) и обновления не получил.

Новая платформа


Источник
Сейчас мы привыкли к тому, что раз в год появляются новые процессоры и чипсеты под них, но так было не всегда. При появлении Dothan не получил своего чипсета справедливость восторжествовала спустя почти год. В середине 2004, настольные ПК получили революционные чипсеты серии Intel 915/925 с поддержкой шины PCI-E. В начале 2005 аналогичные новшества получила и мобильная платформа.

Мобильные чипсеты серии 915, помимо новой шины, получили, наконец, двухканальный контроллер памяти и поддержку интерфейса Serial ATA. Поддерживалась как DDR, так и DDR2 память, но большинство ноутбуков этого поколения работали именно с последней по причине более низкого напряжения питания 2.0 В вместо 2.5 В.

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

Серия Intel 915 (на самом деле 910/915) получила гораздо более количество разновидностей, чем 855:

  • 915PM основной вариант, дискретный чипсет.
  • 915GM вариант с интегрированным видео.
  • 915GMS чипсет для субноутбуков, по возможностям аналогичен 915GM, но видеоядро работает на пониженных частотах. Поддерживал только 400 МГц шину, выпускался в более компактном корпусе.
  • 915GME вариант 915GM с повышенными частотами видеоядра
  • 910GML вариант для дешевых ноутбуков, шина только 400 МГц. В некоторых источниках говорится о поддержке только одноканальной памяти.
  • 910GMLE 910GML с поддержкой 533 МГц шины.

Самое важное, что чипсеты унаследовали от 855 серии технологии энергосбережения. Несмотря на слегка возросшее энергопотребление Dothan (до 27 Вт), ноутбуки на новой платформе практически не потеряли в автономности. Новым наборам микросхем сопутствовали и новые модели Dothan, так называемые Dothan Refresh с 533 МГц шиной и частотами уже до 2.26 ГГц. Такие процессоры клали на обе лопатки даже старшие версии Prescott и уже вплотную дотягивались до Pentium 4 Extreme Edition.

Вскоре появились и вездесущие Celeron. Благодаря младшим моделям Celeron M ULV, недорогим и холодным, появился новый класс устройств MID, Mobile Internet Device. Они были довольно популярны некоторое время, но важны не они, а их деривативы. С одной стороны нетбуки, первым из которых был Asus EEE PC 701, бешеная популярность которых не угасала три года.

Источник изображения eeepcs.ru
А с другой поначалу дорогие, но ставшие существенно более доступными после переезда на архитектуру ARM, планшеты. В эпоху до MID, планшеты весили от 1.5 до 2.5 (!) кг и являлись нишевыми устройствами, инструментами профессионала. После даже 1 кг планшет стал казаться невероятно тяжелым. Впрочем, до расцвета планшетов оставалось еще два года.

Ноутбуки на сторонних чипсетах встречались, но довольно редко благодаря продвижению платформы Centrino, а не отдельно процессоров, пользователи старались приобретать именно машины с логотипом Centrino, а не просто Pentium M. В результате неплатформенные машины появлялись либо в корпоративном сегменте (машины под требования заказчика со сторонними Wi-Fi адаптерами), либо в бюджетном и чаще всего с Celeron M. Чипсеты были унаследованы от Pentium 4 SiS M661FX и ATi RC420M, благодаря использованию шины QPB, они оказались совместимы.

В коллекции Digital Vintage, наиболее приметными ноутбуками на Pentium M второго поколения стоит назвать две модели IBM ThinkPad T43 и Samsung Q1.


ThinkPad T43, наследник знаменитой серии, представлен в 15 варианте. Такие машины появились еще в линейке Т42, как замена рабочим станциям А-серии, снятым с производства. При том же дизайне, 15 версии получили несколько более толстый корпус, позволивший установить IPS экран высокого качества.

Конфигурация:

  • 15 экран с IPS матрицей и разрешением 1400х1050
  • Процессор Pentium M 760 (2.0 ГГц)
  • 2 Гбайт ОЗУ DDR2-533
  • 40 Гбайт жесткий диск IDE
  • Видеоадаптер ATi Mobility Radeon X300 c 64 Мбайт видеопамяти
  • Intel Pro/Wireless Wi-Fi адаптер
  • Дисковод DVD-RAM
  • ОС Windows XP Professional SP2


Samsung Q1 классический MID с сенсорным экраном и без полноценной клавиатуры. Вместо нее несколько хоткеев разбросанных по рамке экрана. По сегодняшним меркам корпус довольно толстый и тяжелый. Выполнен из глянцевого пластика сейчас это атрибут бюджетных устройств, но тогда это считалось модным и современным. Q1 работает под управлением обычной Windows XP Home Edition, не адаптированной к управлению пальцами, поэтому стилус является насущной необходимостью.

Конфигурация:

  • 7 резистивный сенсорный экран с разрешением 800х480
  • Процессор Celeron M 353 (900 МГц)
  • 1 Гбайт ОЗУ DDR2-400
  • 40 Гбайт жесткий диск 1.8 IDE
  • Встроенный в чипсет видеоадаптер Intel GMA900
  • Беспроводные интерфейсы Wi-Fi и Bluetooth
  • ОС Windows XP Home Edition SP2

Давид против Голиафа на его поле


Как уже не раз было упомянуто, Pentium M на равных соперничал с настольными Pentium 4. Побежденным остался и Athlon XP, да и Athlon 64 выигрывал не во всех тестах и уходил вперед не так и значительно. Но как ни крути, ноутбук это всегда компромисс. В него не поставишь самую мощную видеокарту, а в это время как раз наметился прогресс в росте производительности видео.

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

Первыми были AOpen и DFI не столь известные сейчас, но довольно крупные производители, в первую очередь ориентировавшиеся на рынок ОЕМ комплектующих. AOpen известна своими наработками в области разгона видеокарт, некоторые модели имели свой BIOS Setup с возможностью изменения частот, и необычными материнскими платами, например, с ярким дизайном (задолго до того, как это стало мейнстримом) или аудиотрактом с настоящим ламповым усилителем.

Источник
DFI же подарила миру первые платы для моддеров: серия LANParty со светящимися в ультрафиолете элементами. Обе компании выпустили платы в формате mATX (9.6x9.6) с двумя полноразмерными слотами памяти DDR, 3 слотами PCI и одним AGP. Плата DFI 855GME-MGF оснащена серверным южными мостом Intel 6300ESB с поддержкой SATA и PCI-64/66 МГц один из слотов на плате соответствует этому стандарту. На борту есть гигабитный сетевой контроллер и контроллер FireWire.

Модель AOpen i855GMEm-LFS от AOpen использует обычный южный мост ICH4 и несет на борту два гигабитных сетевых контроллера, отдельный SATA-RAID от Promise и контроллер FireWire. Обе платы построены на чипсете 855GME со встроенным видео.

В розничных версиях обе платы выглядят достаточно стильно обе покрыты черно-коричневым лаком, установлены ярко окрашенные слоты. А вот для ОЕМ поставок оформление отличалось, Aopen выпускалась в классическом зеленом цвете, а DFI в золотисто-охряном.

Третьей компанией стал тайваньский гигант Asus (хотя такого скорее ждешь от их коллег из ASRock). Они выпустили ни много ни мало, универсальный переходник Asus CT-479, который при установке в одну из совместимых плат, конечно же производства Asus, позволял установить любой Pentium M. Переходник оснащался специальным кулером, устанавливаемым на стандартные крепления. Благодаря использованию обычных настольных моделей, производительность и функциональные возможности системы становились на еще более высокий уровень.

Источник
В списке совместимости были платы на двухканальных чипсетах Intel 865G/PE, 875P и даже 915P (две модели, выпущенный с Socket 478). Все платы, кроме модели с интегрированным видео, соответствовали форм-фактору АТХ и имели весьма серьезные возможности расширения. Наиболее интересными, конечно, были флагманские P4C800-E и P4P800-E, а также P4GD1 на новейшем 915P. С этими платами связано немало рекордов разгона (все же чипсет, изначально рассчитанный на 800 МГц, не может не добиться успехов с 533 МГц процессором) и производительности в штатном режиме.

В коллекции Digital Vintage пока нет комплектной настольной системы на основе Pentium M. В данный момент комплектуется рабочая станция SERVERGHOST Constellation XM Mini на базе платы от AOpen и планируется к постройке система с платой Asus и переходником CT-479. Эти машины заслуживают отдельного рассказа.

Life goes on


Не беремся судить, благодаря ли трем бунтарям, Intel осознала бесперспективность дальнейшего развития Netburst или нет, но время Pentium подошло к концу и успехи Pentium M не смогли изменить это. В 2005 году появились последние флагманские настольные Pentium двухъядерные Pentium D. А несколькими месяцами позже появился мобильный двухъядерный процессор, пока еще 32-битный, основанный на новом поколении все той же микроархитектуры P6, получивший имя Intel Core.

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

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

До новых встреч!

Подробнее..

Полная история процессоров Pentium от А до M

05.06.2021 16:05:21 | Автор: admin

Привет, %username%. Те, кто подписан на наш блог, уже заметили, что мы регулярно выпускаем статьи про историю возникновения процессоров Intel Pentium. Изначально мы планировали написать только один текст, но вошли во вкус и создали целый цикл статей. Во многом благодаря Виталию (вот он, на фотке), руководителю отдела системного администрирования в Selectel днем и основателю коллекции раритетного железа Digital Vintage ночью. У него в запасе еще много историй, так что вас ожидает еще множество интересных очерков и обзоров олдскульной техники.

Под катом же мы собрали полную историю процессоров Pentium: от самого первого Pentium 66 МГц до последних Pentium D и Pentium M. Вспомним все успехи и провалы, помянем тех, кто ушел навсегда, и отметим тех, кто внезапно спасся от забытья.

Pentium имя нарицательное. Часть 1: Intel уходит от погони



Герой этой статьи знакомый, пожалуй, каждому процессор Intel Pentium, вышедший на рынок 22 марта 1993 года. Его история связана с периодом самого бурного развития компьютерных технологий. Процессор дал жизнь последней универсальной платформе для ПК Socket 7.

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



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

Intel Pentium Pro 25 лет: ближайший общий предок



Intel Pentium Pro был первым процессором, оптимизированным для выполнения именно 32-битного кода, с ядром P6, послужившим в дальнейшем основой для большинства x86-процессоров Intel за исключением Netburst / Atom. В этой статье мы перенесемся в осень 1995 года и взглянем на появление этого прекрасного процессора.

Король умер! Да здравствует король! История процессоров поколения Intel Pentium II



1997 год ознаменовался появлением кардинально нового процессора, с которым ты, %username%, наверняка сталкивался. Речь об Intel Pentium II. Именно этот процессор стал крайне популярным и породил множество разных систем как серверных, так и десктопных. Так что наливайте кофе, включайте любимую музыку из тех времен и погружайтесь в события, произошедшие 24 года назад.

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



Наша точка отсчета 26 февраля 1999 года. В этот день компания Intel представила свое новое семейство процессоров Intel Pentium III. С маркетинговой точки зрения очередной прорыв, покорение новых вершин производительности и эффективности. Но так ли это было в техническом плане? Ответы в этой статье.

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



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

Смутное время. История процессоров с архитектурой Intel NetBurst. Часть 1



20 ноября 2000 года произошло событие, которого с нетерпением ждали многие: Intel официально представила новые процессоры Pentium Pentium 4 на ядре Willamette. Процессоры этого поколения стали, безусловно, коммерчески успешными, но отношение к ним крайне противоречиво. Споры среди исследователей истории техники и энтузиастов ретрокомпьютинга не утихают по сей день.

Век революций. История процессоров с архитектурой Intel NetBurst. Часть 2



С момента выхода первых Pentium 4 Willamette прошло уже два с половиной года. Успело смениться два полноценных поколения платформы, два сокета, два ядра и три типа памяти. Несмотря на не самый удачный старт, к четвертому пню пришел не только коммерческий успех, но и народное признание. Новая микроархитектура проникла во все сегменты рынка от бюджетных ПК до многопроцессорных серверов.

Иногда они возвращаются. История Intel Pentium M



Рассказываем о процессоре, который не должен был появиться вовсе, но вместо этого завоевал невероятную популярность и изменил ход истории. Вы, конечно, уже прочитали заголовок и понимаете, что речь пойдет о представителе микроархитектуры P6, наследнике Pentium III мобильном процессоре Intel Pentium M.

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

Подробнее..

Серия Intel Core 11000B 10 нм для компактных ПК

10.06.2021 10:07:14 | Автор: admin


Несколько неожиданно для всех и даже, похоже, для себя, поскольку на сайте ARK до сих пор имеет место определенная путаница Intel обнародовала информацию о серии Intel Core 11000B, достаточно маленькой, длиной всего в 4 модели, но весьма примечательной. Речь идет о десктопных 10-нм процессорах Core в корпусе FCBGA для распайку на материнскую плату. Новый техпроцесс медленно, но верно проникает в десктопный сегмент, причем в самую интересную и перспективную его часть мощных компактных ПК.

В каждом классе линейки, Core i9, i7, i5 и i3 заявлено по одной модели, получившей наименование Core i9-11900KB, Core i7-11700B, Core i5-11500B и Core i3-11100B соответственно. Индекс В в данном случае означает BGA-исполнение. Да, у i3 в очередной раз номер не по росту, с такого рода отклонениями в модельных рядах Intel мы сталкиваемся постоянно.

Частота Яд./пот. Кеш TDP Граф. EU
i9-11900KB 3.3 / 4.9 ГГц 8 / 16 24 Мб 65 Вт 32
i7-11700B 3.2 / 4.8 ГГц 8 / 16 24 Мб 65 Вт 32
i5-11500B 3.3 / 4.6 ГГц 6 / 12 12 Мб 65 Вт 32
i3-11100B 3.6 / 4.4 ГГц 4 / 8 12 Мб 65 Вт 16
Все процессоры поддерживают технологию Intel Thermal Velocity Boost, позволяющую дополнительно повысить частоту одного или нескольких ядер в пределах термопакета (в нашем случае до 5.3 ГГц) и оснащены графическим ядром Intel UHD Graphics с частотой 0.35 1.45 ГГц. Очень многообещающе выглядит флагманская модель, которая дополнительно имеет индекс К, что, как мы знаем, означает возможность легкого оверклокинга.



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

Dreamstation собираем ретрокомпьютер мечты на платформе Socket 8

19.06.2021 10:16:36 | Автор: admin

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

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

С давних пор меня увлекала платформа Pentium Pro, также известная как Socket 8. Огромных размеров процессоры, двух- и даже трехчиповая компоновка, сочетание передовых и устаревших, как мне поначалу казалось, технических решений. Относительно короткий жизненный цикл платформы. И потрясающая на тот момент производительность систем на его основе, но только лишь на новом, 32-разрядном коде впервые позволившая Intel x86 сравниться с системами на базе RISC-процессоров.

Удивительные возможности до 4 и даже 8 процессоров в одной системе, до 8 Гбайт оперативной памяти и это в конце 1995 года! Об этих процессорах был написан мой первый исторический очерк. И с давних пор я хотел собрать рабочую станцию на паре старших Pentium Pro с 1 Мбайт кэша.

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

Проект: платформа



И так, начнем! Сначала определимся с ключевыми моментами. Во-первых, процессоры Intel Pentium Pro 200 МГц c 1 Мбайт кэша второго уровня, на сленге энтузиастов называемые блэктопами за характерный корпус с черной алюминиевой крышкой. Таким образом, обозначаем и период вторая половина 1997 года. Во-вторых, форм-фактор исключительно АТХ, более распространенный на тот момент АТ успел уже основательно устареть. Соответственно, используем любимый корпус автора десктопный Inwin H500.

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

Во-первых, и это не самое очевидное поддержка блэктопов. На работу с ними должна быть рассчитана система питания они потребляют до 47 Вт, вместо 32 Вт у версий с меньшим кэшем. Описываются проблемы с ранними материнскими платами и брендовыми системами. Значительная часть плат имеет внешние модули питания (VRM), устанавливаемые в стандартизированный разъем с ними обычно проблем не возникает.


Помимо блэктопов есть еще Pentium II OverDrive это уже по сути Post-mortem обновление 1998 года. Эти процессоры работают на частоте 333 МГц и имеют полноскоростной кэш объемом 512 Кбайт. Для работы с этими процессорами требуется поддержка со стороны BIOS они имеют новое ядро от Pentium II с поддержкой MMX.

Во-вторых, память. Обратите внимание ни один из чипсетов для Pentium Pro не поддерживает SDRAM, только FPM и EDO. Ранние 450KX/GX работают только в режиме FPM, но могут сосуществовать с большинством EDO-модулей. Эти чипсеты поддерживают Interleave при работе с несколькими идентичными банками памяти, что позволяет увеличить пропускную способность в 2 раза для 450KX и до 4 раз для 450GX.


Большинство плат комплектовались разъемами для модулей SIMM, но встречаются и платы с DIMM-разъемами они не будут работать с обычной DIMM SDRAM. EDO и тем более FPM сложнее найти в DIMM-формате, но емкость таких модулей будет выше и их не требуется устанавливать парами в отличие от SIMM. Важной особенностью ранних DIMM является существование модулей с разным напряжением питания как 5 В, так и 3.3 В. Такие модули и слоты для них отличаются расположением ключей. Друг с другом они не совместимы.

Другим сюрпризом может оказаться отличающееся расположение ключа для буферизованных EDO модулей, в отличии от более поздних регистровых SDRAM. Такие планки памяти применялись иногда в брендовых серверах, но чаще всего их можно встретить в машинах следующего поколения Pentium II/III Xeon на базе чипсета 450NX.

В-третьих, особенности поддержки управления электропитанием. Забудьте о поддержки ACPI. Все известные мне платы поддерживают только APM это значит, что в реальности, удастся добиться программного выключения только для однопроцессорных систем. В Windows 2000 придется также поучаствовать в приключениях с драйвером NT APM/Legacy Interface Node и вручную править ключи в реестре. Для Windows NT есть утилита SoftOff от HP, но заставить ее работать на двухпроцессорной системе не получилось, хотя с однопроцессорными платами Intel она работает корректно.

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

Энтузиаст из Владивостока под ником Mentat-vvo выполнил реверс-инжиниринг переходника и наладил его выпуска, а также модифицирует прошивки для попадающих в его руки плат таким образом появилась возможность собрать систему, совмещающую Pentium Pro с SDRAM и AGP и поддерживающую ACPI, но это не мой путь в этой сборке будет использоваться оригинальная плата.

Другой важной особенностью, на которую необходимо обратить внимание при поиске и возможно выборе платы, является такая простая, казалось бы вещь, как батарейка CMOS. Мне встретилось как минимум четыре варианта реализации это очевидной функции и с каждым, кроме привычной таблетки CR2025/CR2032 можно получить порцию проблем.

Идеальный вариант искать плату именно с таблеткой. Вариант с легкими осложнениями плата под 4.5 или 5 В батарею. Такая, например, установлена в сервере HP NetServer LH Pro, который удостоился отдельного рассказа. К счастью, обычно батарея в таком случае не монтируется на плату, а подключается к разъему на плате и позволяет безболезненно сделать альтернативное решение в случае невозможности добыть новую оригинальную батарею.

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

Последний распространенный вариант использование комбинированной микросхемы Dallas, Benchmarq или Odin, включающую память CMOS для настроек BIOS (и иногда шины EISA), часы реального времени и собственно батарейку. К нашему времени, они обычно уже разряжены. Наиболее часто встречаются микросхемы Dallas DS1287/DS12887 и совместимые для них энтузиасты из разных стран (есть и в России) производят модули на основе миниатюрной версии того же Dallas без встроенной батареи и c гнездом для установки миниатюрной таблетки CR1225.

Если изначально микросхема установлена в кроватке, достаточно просто извлечь ее и установить модуль. В противном случае, требуется выпаять старую микросхему и впаять кроватку или новый модуль. Осложненный вариант с установленной микросхемой серии DS1487 или DS1587 с увеличенным объемом памяти встречается, как правило, на платах шиной EISA, для него сменные модули пока не производятся, а покупать новый старый модуль рискованно с большой долей вероятности он уже будет разряжен.

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

Чаще всего платы не несут на борту дополнительных контроллеров. Часть плат на основе 440FX уже поддерживают USB версии 1.0. Платы серверного класса могут комплектоваться встроенным SCSI контроллером. Заметным исключением является плата для рабочих станций Intel PR440FX Providence, на которую устанавливается звуковой контроллер Crystal, сетевой контроллер Intel и SCSI-контроллер Adaptec.

Также это одна из плат, использующих DIMM-слоты для памяти за счет этого на нее можно установить максимальный для чипсета объем 1 Гбайт. Плата довольно крупная, соответствует форм-фактору EATX типа ступенька и может поместиться в часть АТХ корпусов. В Inwin H500 помещается без запаса, в случае ее использования придется предусмотреть поддержку части ступеньки, которая иначе повисает в воздухе.

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

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

Проект: Видеосистема



В 1997 году уже появляются видеокарты для новой шины AGP, но здесь мы ограничены обычной PCI. Вариантов все еще множество от дешевых S3 Trio3D и Virge до профессиональных карт от 3DLabs, ELSA и многих других. Уже доступна и RIVA 128 от только начинающей свой путь nVidia, но драйвера пока оставляют желать лучшего все еще очень много проблем в Direct3D и, особенно, в OpenGL. В целом, пока еще API Direct3D еще очень сырой, а OpenGL очень тяжеловесный, рассчитанный на профессиональное применение.

Но есть восходящая звезда API Glide, доступный исключительно на картах 3Dfx Voodoo. Такую плату с 4 Мбайт видеопамяти я использую в сборке в качестве той самой перчинки. Но это только 3D ускоритель, для вывода 2D картинки понадобится отдельная карта. В качестве основной карты изначально очень хотелось использовать ELSA GLoria XL, монструозную профессиональную OpenGL карту на основе чипов 3DLabs GLiNT MX и Delta, но по здравому размышлению, достойной работы для них в этой машине не найдется.


Решено было использовать достойнейшую 2D карту с 3D возможностями легендарную Matrox Millennium II, точнее попробуем отыскать ее топовую версию с 8 Мбайт ОЗУ. Такая карта сможет обеспечить вывод изображения с разрешением 1600х1200 в High Color (дальше ограничением выступает уже RAMDAC платы). Для карт Millennium II также доступны дочерние платы расширения памяти (суммарно до 16 Мбайт) и плата Rainbow Runner Studio, добавляющая возможности работы с аналоговым видеосигналом.

Таким образом, наша сборка позволит и насладится качественной картинкой и поработать с программами САПР и поиграть в трехмерные игры.

Проект: Диски и внутренняя периферия



Производительность и надежность дисковой подсистемы до середины нулевых годов XXI века прочно ассоциировалась с интерфейсом SCSI. В 1997 году появились первые диски со скоростью вращения пластин 10000 об/мин, их объем составлял до 9 Гбайт и именно такой диск я буду искать для установки в сборке. Сам диск, возможно, будет более нового выпуска, потому что найти аутентичный диск 1997 года будет непросто. В данном случае главное соответствие характеристикам.

Диск будет не одинок как и в прошлый раз, он будет делить шину с оптическим приводом и стримером. Как раз недавно начали появляться пишущие приводы CD-R, хотя на горизонте уже появился новый стандарт CD-RW, обеспечивающий также и перезапись дисков. Стример уже есть в запасах, это модель Seagate Scorpion, соответствующая формату DDS2 4 Гбайт данных на одну кассету без сжатия или до 8 Гбайт со сжатием данных.


Контроллер SCSI будет использован либо встроенный на материнскую плату, либо аналогичный внешний Adaptec AHA-2940UW с поддержкой Wide UltraSCSI и производительностью до 40 Мбайт/с. Новое поколение контроллеров работает с 16-битной шиной SCSI и позволяет подключить до 15 устройств на канал, вместо 7 на прежней, 8-битной шине. Этот адаптер является заслуженно считается одним из самых надежных и стабильных решений, с отличной совместимостью.

Обязательным атрибутом серьезного компьютера уже давно стала звуковая карта. Пока еще для них используется интерфейс ISA. Исходя из личных предпочтений, выбор сосредоточим на картах Creative. Актуальное семейство на данный момент AWE64. Можно выбрать карту в исполнении Gold, но цены на них сейчас весьма высоки, а доплата идет в основном за имиджевую составляющую. Остановимся на обычной версии, тем более в запасах уже лежит карта Creative AWE64 модели CT4520.


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

Остается еще одно устройство сетевая карта. Для этой сборки припасена особенная плата ранняя Intel PRO/100 в необычном исполнении с выступающим хвостиком задней части PCI коннектора.

В отличии от сборки с двумя Pentium III Xeon, таких столь серьезных требований к блоку питания не предъявляется достаточно будет применить качественный блок с мощностью от 250 Вт. В случае использования современного блока питания, стоит использовать модели более высокой мощности, чтобы иметь запас по ставшей менее популярной линии 5 В. В данном случае будет использован блок питания Powerman с мощностью 450 Вт.

Воплощение: поиски, сборка и отладка


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

Самой доступной была Gigabyte GA-686DX. В числе ее достоинств 6 слотов SIMM, что позволяет установить 768 Мбайт памяти, 5 PCI слотов и встроенные VRM для обоих процессоров. В минусах не самая удобная раскладка с расположением слотов памяти над сокетами процессоров и, главное Benchmarq. Он был уже севший и требовалась его замена или доработка. Совместим ли он с DS1287 мне не известно.

Очень интересным вариантом была Intel PR440FX. Плюсов множество DIMM слоты с поддержкой до 1 Гбайт ОЗУ, встроенная сеть и SCSI, качество Intel, нормальная батарейка-таблетка. Минусов же два отсутствие в комплекте заглушки и встроенный звук. Это, вероятно, очень субъективно и из области личных предпочтений, но мне не нравится дублировать функционал встроенных на плату устройств отдельными картами, отключая интегрированные контроллеры. А звук от Crystal хотя и вполне достойного качества, с Creative сравниться никак не может.

Третий вариант малоизвестная модель PN-6210 от некогда одного из крупнейших ОЕМ производителей FIC, First International Computer. Платы этой компании можно было обнаружить и в компьютерах локальных производителей и в брендовых машинах, например HP. Часто FIC становился первым производителем плат на новых чипсетах VIA.


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

Батарейка стандартная таблетка. Оба процессора питаются от внешних VRM, в комплект входят два новых модуля с маркировкой Raytheon. Сама плата оформлена очень красиво свободная раскладка, золотисто-охряный текстолит. При наличии желания, можно собрать так называемую color-correct сборку подобрав комплектующие по цвету. Правда, в таком случае придется отказаться от продукции Matrox и Adaptec, традиционно имеющих зеленую окраску плат. На мой взгляд, красота не должна вредить функционалу, поэтому цветокорректная сборка не мой путь.



Последние два варианта стоили одинаково и решиться было непросто, но все же выбор был сделан в пользу FIC. Сыграл еще один фактор плата имеет ставший крайне редким в то время BIOS от AMI с графическим интерфейсом, так называемый WinBIOS. Большинство плат с ним предназначались для поздних 486 и ранних Pentium, лишь немногие должили до эпохи P6.

Вероятно, последними были Supermicro, сделанные аж для Pentium III, и то, они как правило предоставляли выбор из двух прошивок с обычным и с графическим интерфейсом. Для FIC PN-6210 также доступна прошивка с текстовым интерфейсом, причем в оформленным в стиле Phoenix BIOS, других плат с AMIBIOS и таким дизайном интерфейса мне более не встречалось.

Интерфейс AMI WinBIOS (источник)
Плата была приобретена перед майскими праздниками и предварительно собрана с двумя обычными Pentium Pro 200 МГц c 256 Кбайт кэша. Процессоры имеют разный SL-spec, но отлично запустились вместе. Компанию им составили 128 Мбайт оперативной памяти этого объема достаточно для тестирования, но планируется установить максимально возможный объем 512 Мбайт.

Запланированные к установке Pentium Pro c 1 Мбайт кэша и оригинальными кулерами были найдены и заказаны, пока они добираются можно заняться подбором остальной комплектации. Вскоре были заказаны и видеокарты Diamond Monster 3D 4 Мбайт на базе чипcета Voodoo и тот самый Matrox Millennium II 8 Мбайт. Самой большой проблемой пока остается память на момент выпуска этой статьи еще только ведутся переговоры по ее приобретению.

Чтобы иметь возможность дальнейшего тестирования сборки, была установлена видеокарта Matrox Millennium II в версии с 4 Мбайт видеопамяти. Свое место заняли и девайсы из запасов сетевая и звуковая карты, SCSI-адаптер Adaptec AHA-2940UW, стример. Так как диск подключается к Wide SCSI, приходится использовать дополнительный 68-контактный шлейф для его подключения.

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

Сеанс ностальгии


Установка Windows NT 4.0 не вызывает проблем, хотя и пришлось загружаться с дискет. Хотя SCSI адаптер и поддерживает загрузку с CD, по факту что-то пошло не так. Вероятнее всего, повинен в этом немолодой AMIBIOS. Впрочем, один раз загрузиться с дискет не страшно. Только не поленитесь сделать установочный набор Windows NT, а не запускайте установщик из DOS. Windows NT 4.0 не поддерживает FAT32, только FAT и загрузочный раздел при создании из DOS будет ограничен 2 Гбайт.

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

Драйвера тоже не преподносят сюрпризов, за исключением несколько глючного установщика для AWE64 нужно строго соблюдать описанную в readme последовательность действий, но даже тогда есть шанс получить задвоенные устройства. Причина проста Windows NT 4.0 очень слабо поддерживает PlugnPlay и не может определить, что устройство удалено или использует другой драйвер, если старый не был удален вручную. После возни с драйверами остается только развернуть выбранный набор софта и игр и ждать прибытия долгожданных посылок с оставшимися деталями.

Обе посылки прибыли почти одновременно, две недели спустя. Тут уже дело простое установить две видеоплаты, заменить процессоры и кулеры. Если бы не перерывы на фото все работа заняла бы минут пятнадцать. С фото получился почти час!

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

Скриншоты программ
Windows NT Workstation 4.0

Netscape 4.04

Delphi 3

Adobe Photoshop 4.0

Nero Burning Rom 3.0.7.0

Скриншоты игр
Герои Меча и Магии II

Quake II

Заключение


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

По сложившейся уже традиции, дадим построенной машине имя конечно же, она войдет в серию SERVERGHOST, а модель обозначим Constellation P6/TE (TE значит Twin Engine). Итак, итоговая конфигурация:

  • 2 процессора Pentium Pro 200 МГц c 1 Мбайт кэша
  • 128 Мбайт оперативной памяти EDO SIMM (планируется увеличение до 512 Мбайт)
  • Материнская плата FIC PN-6210
  • Видеокарта Matrox Millennium II 8 Мбайт PCI
  • Графический ускоритель Diamond Monster 3D (3Dfx Voodoo) 4 Мбайт
  • Жесткий диск Quantum Atlas 9.1 Гбайт 10000 rpm SCSI
  • CD-R 4x/8x Panasonic (Matshita) CW-7502-B SCSI
  • Стример Seagate Scorpion DDS-2 SCSI
  • SCSI-контроллер Adaptec AHA-2940UW
  • Звуковая карта Creative AWE64 (CT4520)
  • Сетевая карта Intel PRO/100 PCI

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

Бюджет


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

Позиция Диапазон цен Кол-во Фактические затраты
Корпус Inwin H500 500-2000 1 шт. 1500
Плата Dual Socket 8 (FIC PN-6210) 12000-25000 1 шт. 21000
Процессор Pentium Pro 200/1M 7000-10000 2 шт. 15000
Кулер Pentium Pro (оригинал Intel) 500-4000 2 шт. 5000
Память 32 МБайт EDO SIMM 200-500 4 шт. 800
Видеокарта Matrox Millennium II 8 Мбайт PCI 1500-3000 1 шт. 2000 (обмен)
Видеоускоритель 3Dfx Voodoo 4 Мбайт 4000-10000 1 шт. 4000
Звуковая карта Creative AWE64 1500-3000 1 шт. подарок
SCSI-контроллер Adaptec AHA-2940UW 500-3000 1 шт. 600
Шлейф SCSI 50-pin 150-500 1 шт. 150
Шлейф SCSI 68-pin 150-500 1 шт. подарок
Сетевая карта Intel Pro/100 100-500 1 шт. 200
Блок питания Powerman 450 Вт 200-500 1 шт. 300
Жесткий диск 9 Гбайт 10000rpm SCSI 200-1000 1 шт. подарок
Оптический привод CD-R SCSI 2000-10000 1 шт. 600
Стример DDS-2 SCSI 500-10000 1 шт. 600
Итого: 51750 рублей
На сегодняшний день это мой самый затратный проект. Апгрейд памяти добавит к указанной сумме еще от 4000-5000 рублей. Pentium Pro, как и Slot2 Xeon одна из самых затратных платформ. Но если у Slot2 пока относительно узкий круг поклонников, компенсируемый чрезвычайной редкостью платформы, то Pentium Pro является одной из самых востребованных ретроплатформ на сегодняшний день, элитой ретрокомпьютинга, сравнимой быть может даже с Амигой (да простят мне это сравнение поклонники Амиги). Двухпроцессорные системы реже и, соответственно, дороже, но однопроцессорные более практичны благодаря широкому выбору операционных систем.

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

При этом мне известны люди, которым удалось приобрести PR440FX с заглушкой менее, чем за 5000 рублей. Мне аналогичным образом, например, везло с однопроцессорными платами для Pentium Pro у меня есть оба интеловских варианта Performance/AU и Performance/VS и с ускорителем Voodoo 2. Но такое везение дело случая и подобные цены в диапазоне цен не отражены.

Цены на процессоры Pentium Pro разнятся довольно слабо, это связано как с известностью и приметностью процессора, так и с определенной долей содержания драгоценных металлов. Поэтому даже сравнительно распространенные Pentium Pro 200/256K продаются за 1500-2000 рублей, а на неработоспособные экземпляры цена лишь немногим ниже. Далее же цена повышается пропорционально объем кэша, но это касается только полностью исправных процессоров.

Версия с 512 Кбайт кэша стоит от 3000 до 4000 рублей, 1М вариант 7000-10000 рублей. Есть зависимость и от частоты 200 МГц процессоры стоят несколько дешевле аналогичных более медленных версий, так как их было выпущено больше. Например, Pentium Pro 166/512К оценивается ближе к 200/1М варианту, чем к 200/512К из-за своей редкости.

Высоко ценятся 150/256К и инженерные версии 133/256К. Из-за своей редкости дорого обходятся и кулеры, поэтому не относитесь к ним, как к расходному материалу. Замена вентилятора обойдется намного дешевле нового кулера в сборе, да и времени на поиски может уйти нерационально много.

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

Вместо Matrox вполне можно поставить видеоплату от ATi или nVidia, а SCSI привод заменить на аутентичный IDE CD-ROM. В данном случае, все зависит исключительно от ваших от желаний и уровня требовательности.

Подробнее..

Категории

Последние комментарии

  • Имя: Murshin
    13.06.2024 | 14:01
    Нейросеть-это мозг вселенной.Если к ней подключиться,то можно получить все знания,накопленные Вселенной,но этому препятствуют аннуннаки.Аннуннаки нас от неё отгородили,установив в головах барьер. Подр Подробнее..
  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru