Что такое микроархитектура
Перейти к содержимому

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

  • автор:

Разница между архитектурой и микроархитектурой процессора?

Обычно под «архитектурой» понимается архитектура уровня набора команд (Instruction Set Architecture, ISA).

Давайте вспомним, что главной задачей CPU является исполнение программ. Согласитесь, что нам не важно, как CPU работает внутри, важно что он исполняет программы, которые мы ему передаем. И не просто исполняет, а исполняет именно так, как мы задумали! Вопрос в том, какие программы может исполнять определенный процессор и какова семантика этих программ. Именно это и определяет ISA — какие программы CPU может исполнять и что эти программы делают, а вот микроархитектура определяет, как CPU устроен изнутри.

Теперь немного подробнее.

ISA — это интерфейс между CPU и программами, которые на этом CPU исполняются. ISA определяет количество регистров, которые видны программисту, доступные инструкции, правила выравнивания и так далее. Если вы хотите написать программу для конкретного CPU вы берете справочник по его ISA и пишите инструкции одна за другой. Таким справочником, например, является Intel® 64 and IA-32 Architectures Software Developer’s Manuals — в нем описывается программная модель архитектур Intel 64 и IA-32 (это архитектуры семейства x86, которые используются в большинстве современных десктопных компьютерах).

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

Микроархитектура, не влияет на семантику и результат исполнения программ, но влияет на скорость их исполнения. Мы можем запустить Doom 3 как на старом Pentim IV, так и на новеньком Threadripper — и там и там он будет работать, вот только скорость работы на последнем CPU будет выше.

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

Микроархитектура программисту не видна † , программист работает на уровне ISA. Если два разных процессора реализуют одну и ту же ISA, то они могут исполнять одни и те же программы. Например, AMD и Intel производят процессоры семейства архитектур x86 — именно поэтому мы можем запускать одни и те же программы как на процессорах Intel, так и на процессорах AMD.

Важно понимать, что ISA не отражает реально происходящие процессы в CPU и является просто абстракцией для программиста/компилятора. Например, ISA x86 обещает программисту, что все инструкции, которые он запишет будут выполняться последовательно, одна за одной ‡ . Но на деле современные процессоры исполняют большинство инструкций параллельно и совсем не в том порядке, в котором их записал программист (см. instruction level parallelism). Тогда как же программы работают, если инструкции выполняются в произвольном порядке? Дело в том, что исполняя инструкции так как ему угодно, процессор следит за тем, чтобы программисту казалось, что инструкции выполняются последовательно * .

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

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

‡ Сильное и не совсем корректное упрощение. Хотя, конечно, иногда и приходится беспокоиться о memory barriers, но в целом программа действительно исполняется последовательно для программиста.

* Если кто-то знаком с C++, это что-то типа as if rule.

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

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

Микропроцессор характеризуется:
1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ;
2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

Разрядностть МП обозначается m/n/k/ и включает:
m — разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров;
n — разрядность шины данных, определяет скорость передачи информации;
k — разрядность шины адреса, определяет размер адресного пространства. Например, МП i8088 характеризуется значениями m/n/k=16/8/20;
3) архитектурой. Понятие архитектуры микропроцессора включает в себя систему команд и способы адресации, возможность совмещения выполнения команд во времени, наличие дополнительных устройств в составе микропроцессора, принципы и режимы его работы. Выделяют понятия микроархитектуры и макроархитектуры.

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

Макроархитектура — это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

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

Структура типового микропроцессора

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

Рис. 2.1. Архитектура типового микропроцессора.

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

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

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

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

На рис. 2.2 приведена подробная диаграмма выполнения процедуры ввода-запоминания-вывода. Обратите внимание, что команды уже загружены в первые шесть ячеек памяти. Хранимая программа содержит следующую цепочку команд:
1. Ввести данные из порта ввода 1.
2. Запомнить данные в ячейке памяти 200.
3. Переслать данные в порт вывода 10.

Рис. 2.2. Диаграмма выполнения процедуры ввода-запоминания-вывода.

В данной программе всего три команды, хотя на рис. 2.2 может показаться, что в памяти программ записано шесть команд. Это связано с тем, что команда обычно разбивается на части. Первая часть команды 1 в приведенной выше программе — команда ввода данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть — операндом. Код операции и операнд размещаются в отдельных ячейках памяти программ. На рис. 2.2 КОП хранится в ячейке 100, а код операнда — в ячейке 101 (порт 1); последний указывает откуда нужно взять информацию.

В МП на рис. 2.2 выделены еще два новых блока — регистры: аккумулятор и регистр команд.

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

Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий:
1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания.
2. ЗУ программ пересылает первую команду («Ввести данные») по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд.
3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания.
4. Из памяти программ на ШД пересылается операнд «Из порта 1». Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду («Ввести данные из порта 1»).
5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы «А» передается в аккумулятор внутри МП и запоминается.Важно отметить, что при обработке каждой программной команды МП действует согласно микропроцедуре выборки-декодирования-исполнения.
6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания.
7. Код команды «Запомнить данные» подается на ШД и пересылается в МП, где помещается в регистр команд.
8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ.
9. Из памяти программ на ШД пересылается код сообщения «В ячейке памяти 200». МП воспринимает этот операнд и помещает его в регистр команд. Полная команда «Запомнить данные в ячейке памяти 200» выбрана из памяти программ и декодирована.
10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.
11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы «А» передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы «А».
12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания.
13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд.
14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.
15. Из памяти программ по ШД к МП поступает код операнда «В порт 10», который далее помещается в регистр команд.
16. МП дешифрирует полную команду «Вывести данные в порт 10». С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы «А» (все еще находящийся в аккумуляторе) по ШД. Буква «А» выводится через порт 10 на экран дисплея.

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

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

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

Микроархитектура

В компьютерной технике , микроархитектуре , называемые также компьютерная организация и иногда сокращенно μarch или uarch , это то , как данный набор команд архитектура (ISA) реализована в конкретном процессоре . [1] Данная ISA может быть реализована с различными микроархитектурами; [2] [3] реализации могут отличаться из-за различных целей данного дизайна или из-за изменений в технологии. [4]

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

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

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

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

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

Процессорная микроархитектура Intel следующего поколения

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

Общие сведения

Как известно, в конце текущего года компания Intel собирается приступить к массовому выпуску процессоров на базе микроархитетуры Nehalem (процессоры Nehalem) для сегмента высокопроизводительных настольных ПК и двухпроцессорных серверных систем. Для других сегментов рынка названные процессоры будут представлены в 2009 году. Процессоры Nehalem будут выпускаться в двух-, четырех- и восьмиядерном вариантах.

Сначала компания Intel выпустит четырехъядерный процессор с кодовым названием Bloomfield. Этот процессор, ориентированный на высокопроизводительные компьютеры, будет изготавливаться по 45-нанометровой технологии, а его TDP составит 130 Вт. Процессор Bloomfield будет иметь разъем LGA 1366, то есть у него будет уже 1366 контактов. Размер упаковки процессора составит 42,5×45 мм (упаковки процессора с разъемом LGA 775 — 37,5×37,5 мм). Конструктивно процессор Bloomfield будет представлять собой четыре ядра на одном кристалле, то есть будет истинно четырехъядерным. Заметим, что процессор Bloomfield будет включать 731 млн транзисторов.

Вслед за процессором Bloomfield в 2009 году появятся четырехъядерный процессор Lynnfield и двухъядерный процессор Havendale. Они будут ориентированы уже на сегмент массовых ПК и оснащены разъемом LGA 1160. Таким образом, процессоры нового поколения будут снабжены двумя вариантами разъемов, что, конечно же, создаст определенные неудобства для пользователей. Отличительной особенностью процессоров Nehalem станет наличие в них интегрированного контроллера памяти DDR3, поэтому с памятью DDR2 новые процессоры будут уже несовместимы. Причем в процессоре Bloomfield будет установлен уже трехканальный контроллер памяти (Integrated Memory Controller, IMC) DDR3. Попутно заметим, что интегрированный контроллер памяти будет поддерживать память DDR3-800/1066/1333 и применение до двух DIMM-слотов на каждый канал. По некоторым данным (правда, официального подтверждения на этот счет нет), процессоры Lynnfield и Havendale будут оснащены двухканальным контроллером памяти.

Следующая особенность процессоров Nehalem заключается в том, что на кристалле процессора расположен разделяемый между всеми ядрами кэш L3. Для процессора Bloomfield размер кэша L3 составит 8 Мбайт. Отметим, что в некоторых моделях процессоров Nehalem (предположительно в процессорах для ноутбуков) кэш L3 может отсутствовать.

Напомним, что в процессорах с архитектурой Intel Core используется разделяемый между всеми ядрами кэш L2. В процессорах с архитектурой Nehalem кэш L2 не является разделяемым и находится в эксклюзивном применении каждого ядра процессора, но зато появился разделяемый кэш L3.

В процессоре Bloomfield каждому ядру процессора отводится кэш L2 размером 256 Кбайт.

Еще одна особенность процессоров на базе микроархитектуры Nehalem заключается в том, что вместо шины FSB, которая ранее использовалась для связи процессора с чипсетом, теперь применяется принципиально иной интерфейс, называемый Intel QuickPath Interconnect (QPI). Эта новая шина увеличивает скорость передачи данных в 4-8 раз в сравнении с шиной FSB. Естественно, на кристалле процессора также располагается контроллер шины QPI.

Шина QPI используется для связи процессора с чипсетом и для связи процессоров друг с другом (в случае многопроцессорных конфигураций). QPI является последовательной, высокоскоростной двунаправленной шиной. Ее ширина в каждую сторону (передача и прием) составляет по 20 бит (20 отдельных пар линий), при этом 16 бит отводится для передачи данных, две линии зарезервированы для передачи служебных сигналов и еще две — для передачи кодов коррекции ошибок CRC. C учетом еще двух пар линий, применяемых для синхронизации сигналов (одна на прием и одна на передачу), получаем, что шина QPI состоит из 42 пар линий, то есть является 84-контактной. Пропускная способность шины QPI составляет 25,6 Гбайт/с, хотя такая единица измерения, как гигабайт в секунду (Гбайт/с), более не будет использоваться для характеристики QPI-шины. Вместо этого будет применяться термин «трансферы в секунду», то есть количество передач запакетированных данных по шине в секунду.

Вообще, нужно отметить, что архитектура процессора Nehalem подразумевает модульную двухуровневую структуру (рис. 1). На одном уровне (уровень Core Logic) располагаются ядра процессора, количество которых, как уже отмечалось, может варьироваться от двух до восьми. На другом уровне (уровень Uncore Logic) находятся такие компоненты процессора, как L3-кэш, контроллер памяти и интерфейсы QPI. Причем компоненты уровня Core Logic, то есть ядра процессора, и компоненты уровня Uncore Logic электрически и по частоте независимы друг от друга. Это означает, что компоненты уровня Uncore Logic не синхронизованы по частоте с ядрами процессора, то есть кэш L3 будет работать на частоте, отличающейся от частоты работы ядер процессора и соответственно кэшей L1 и L2. Пока частоту работы элементов Ucore Logic компания Intel держит в секрете. Известно лишь, что все компоненты уровня Uncore Logic (контроллер памяти, кэш L3 и шина QPI) будут работать на одной частоте. Тут нужно подчеркнуть, что частота работы контроллера памяти и частота работы памяти — это не одно и то же, хотя они и взаимосвязаны, а зная, что QPI процессора имеет характеристику, к примеру, 6,4 Гтрансфера/с, нельзя сказать, какова при этом частота работы шины QPI. Пока что известно лишь то, что максимальная частота работы компонентов Uncore Logic составит 2,8 ГГц, а максимальная частота ядер процессора — 3,2 ГГц.

Рисунок

Рис. 1. Двухуровневая структура процессора Nehalem

При этом ожидается, что пользователю будет предоставлена возможность через настройки BIOS разгонять по частоте элементы Uncore Logic, но разгон будет производиться синхронно для всех элементов уровня. Также это означает, что каждый процессор будет ориентирован на использование только одного типа памяти. То есть если процессор поддерживает память DDR3-1066, то с ним, в принципе, можно будет использовать и менее скоростную память, но в этом случае понизится частота и всех остальных компонентов уровня Uncore Logic. К примеру, будут существовать варианты процессоров Bloomfield с QPI 6,4; 4,8 и 3,2 Гтрансфер/с. Процессор с QPI 6,4 Гтрансфер/с будет поддерживать память DDR3-1333, процессор с QPI 4,8 Гтрансфер/с — память DDR3-1066, ну а процессор с QPI 3,2 Гтрансфер/с — память DDR3-800. Вот такой «зоопарк» получится.

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

Но и это еще не всё. Процессоры Nehalem будут поддерживать технологию многопоточной обработки Simultaneous Multi-Threading, которая известна под названием Hyper-Threading. Напомним, что данная технология использовалась еще в процессорах Intel Pentium 4 с микроархитектурой NetBurst, однако в процессорах c микроархитектурой Intel Core она отсутствовала. С учетом технологии Hyper-Threading операционная система будет позиционировать двухъядерный процессор Nehalem как четыре отдельных логических процессора или ядра, а четырехъядерный — как восемь отдельных логических процессоров.

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

В микроархитектуре Nehalem реализован набор инструкций SSE4.2 для увеличения скорости обработки мультимедийных и веб-приложений.

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

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

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

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

Ядро процессора на базе микроархитектуры Nehalem

Рассмотрев в общих чертах особенности новой микроархитектуры Nehalem и процессора Bloomfield, давайте более детально ознакомимся с особенностями ядра процессора на базе микроархитектуры Nehalem.

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

Вычислительное ядро процессора на базе микроархитектуры Intel Core

При работе ядра процессора на базе микроархитектуры Intel Core инструкции x86 выбираются из кэша инструкций L1 (Instruction Сache) размером 32 Кбайт (рис. 2). Команды загружают из кэша блоками фиксированной длины, из которых выделяются инструкции, направляемые на декодирование. Поскольку инструкции x86 имеют переменную длину, а у блоков, которыми команды загружаются из кэша, фиксированная длина, при декодировании команд нужно определить границы между отдельными командами.

Рисунок

Рис. 2. Структурная схема ядра процессора
на базе микроархитектуры Intel Core и Nehalem

Информация о размерах команд хранится в кэше инструкций L1 в специальных полях (по 3 бита информации на каждый байт инструкций). В принципе, эту информацию для определения границ команд можно было бы использовать в самом декодере непосредственно в процессе декодирования команд. Однако это неизбежно отразилось бы на скорости декодирования, при этом нельзя было бы декодировать одновременно несколько команд. Поэтому перед декодированием производится выделение команд из выбранного блока. Данная процедура называется предварительным декодированием (PreDecode). Процедура предварительного декодирования позволяет поддерживать постоянный темп декодирования независимо от длины и структуры команд.

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

Говоря о процедуре выборки программных инструкций в микроархитектуре Intel Core, необходимо также отметить наличие блока обнаружения программных циклов (Loop Stream Detector), который принимает непосредственное участие в процессе выборки инструкций. В любом программном коде практически всегда присутствуют программные циклы. Во избежание повторов в выполнении операций (предсказания ветвлений, выборки) в процессорах с архитектурой Intel Core используется технология обнаружения циклов (Loop Stream Detector). В архитектуре Intel Core применяется буфер Loop Stream Detector на 18 инструкций, причем сам буфер располагается до декодера. То есть в архитектуре Intel Core могут отслеживаться и распознаваться только циклы, содержащие не более 18 инструкций. При обнаружении программного цикла инструкции в цикле пропускают фазы выборки (Fetch) и предсказания ветвлений в программе (Branch Prediction), а сами команды генерируются и поступают в декодер непосредственно из Loop Stream Detector (рис. 3). С одной стороны, это позволяет снизить энергопотребление ядра процессора, а с другой — обойти фазу выборки команд. Если в цикле насчитывается более 18 инструкций, то инструкции каждый раз будут проходить все стандартные шаги.

Рисунок

Рис. 3. Расположение модуля Loop Stream Detector
в процессоре с микроархитектурой Intel Core

После операции выборки команды организуются в очередь (Instruction Queue), а затем передаются в декодер. При декодировании (Decode) команды преобразуются в машинные микрооперации (micro-op).

Декодер ядра процессора с архитектурой Intel Core является четырехканальным и может декодировать в каждом такте до четырех инструкций x86. За каждый такт из кэша загружается 16-байтный блок команд, из которого в процессе предварительного декодирования выделяются отдельные команды. В принципе, длина одной команды может достигать 16 байт, однако средняя длина команд составляет 4 байта. Поэтому в среднем в каждом блоке загружаются четыре команды, которые в случае применения четырехканального декодера одновременно декодируются за один такт.

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

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

При декодировании инструкций в микроархитектуре Intel Core применяется технология MacroFusion, смысл которой заключается в слиянии двух x86-инструкций в одну. В предыдущих версиях процессорной микроархитектуры каждая инструкция в формате x86 декодировалась независимо от остальных. При использовании технологии MacroFusion некоторые пары инструкций (например, инструкция сравнения и условного перехода) при декодировании могут быть слиты в одну микроинструкцию (micro-op), которая в дальнейшем будет выполняться именно как одна микроинструкция. Отметим, что для эффективного поддержания технологии MacroFusion в архитектуре Intel Core применялись расширенные блоки ALU (Arithmetical Logic Unit), способные поддержать выполнение слитых микроинструкций. Отметим также, что без технологии MacroFusion за каждый такт процессора могло декодироваться только четыре инструкции (в четырехканальном декодере), при наличии технологии MacroFusion в каждом такте могло считываться пять инструкций, которые за счет слияния преобразуются в четыре и подвергаются декодированию.

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

После процесса декодирования инструкций x86 начинается этап их исполнения. Первоначально происходит переименование и распределение дополнительных регистров процессора (Allocate & Rename), которые не определены архитектурой набора команд. Переименование регистров позволяет добиться исполнения команд вне очереди. Идея переименования регистров заключается в следующем. В архитектуре x86 количество регистров общего назначения сравнительно невелико: доступно восемь регистров в 32-битном режиме, и 16 — в 64-битном. Представим, что исполняемая команда дожидается загрузки значений операндов в регистр из памяти. Это долгая операция, и хорошо бы на это время разрешить использовать этот регистр для другой команды, операнды которой находятся ближе (например, в кэше первого уровня). Для этого временно переименовывается «ждущий» регистр и отслеживается история переименования. А «готовому к работе» регистру присваивается стандартное имя, чтобы снабженную операндами команду исполнить прямо сейчас. Когда придут данные из памяти, обращаются к истории переименования и возвращают изначальному регистру его законное имя. Иными словами, техника переименования регистров позволяет сократить простои, а ведение истории переименования применяется для нивелирования конфликтов.

На следующем этапе (буфер переупорядочения (ReOrder Buffer)) происходит переупорядочение микроопераций не в порядке их поступления (Out-of-Order) с тем, чтобы впоследствии можно было реализовать их более эффективное выполнение на исполнительных блоках. Отметим, что буфер переупорядочения ReOrder Buffer и блок отставки (Retirement Unit) совмещены в едином блоке процессора, но первоначально производится переупорядочение инструкций, а блок Retirement Unit включается в работу позже, когда надо выдать исполненные инструкции в заданном программой порядке.

Далее происходит распределение микроопераций по исполнительным блокам. В блоке процессора Reservation Station формирует очереди микроопераций, в результате чего микрооперации попадают на один из портов функциональных устройств (dispatch ports). Этот процесс называется диспетчеризацией (Dispatch), а сами порты выполняют функцию шлюза к функциональным устройствам.

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

Отличия микроархитектуры Nehalem от Intel Core

Напомним, что одной из особенностей архитектуры Intel Core была совокупность технологий, получивших общее название Intel Wide Dynamic Execution. К наиболее важными технологиям из набора Intel Wide Dynamic Execution относятся следующие:

  • механизм декодирования до четырех инструкций за такт;
  • технология слияния макроопераций MacroFusion;
  • технология слияния микроопераций micro-ops fusion.

Intel Wide Dynamic Execution используется и в архитектуре Nehalem, но в данном случае речь идет уже об усовершенствованной технологии.

Итак, рассмотрим нововведения, реализованные в микроархитектуре Nehalem. Первое из них заключается в реализации технологии слияния макроопераций MacroFusion. Во-первых, расширен набор команд, для которых возможно слияние макроопераций. Во-вторых, в микроархитектуре Intel Core слияние макроопераций не поддерживалось для 64-битного режима работы процессора, то есть технология MacroFusion была реализована только в 32-битном режиме. В архитектуре Nehalem это узкое место устранено и операции слияния работают как в 32-, так и 64-битном режиме процессора.

Следующее усовершенствование микроархитектуры Nehalem касается технологии обнаружения программных циклов Loop Stream Detector. В архитектуре Nehalem применяется улучшенный блок обнаружения циклов — теперь он расположен не перед, а за декодером и рассчитан на 28 декодированных инструкций, то есть можно обнаруживать на 60% более длинные циклы (рис. 4). Кроме того, поскольку Loop Stream Detector хранит декодированные инструкции (так как размещается после декодера), инструкции будут «пропускать» не только фазу предсказания ветвлений и выборки, как раньше, но и фазу декодирования. Таким образом, в Nehalem инструкции в цикле будут проходить через конвейер быстрее и чаще.

Рисунок

Рис. 4. Расположение модуля Loop Stream Detector
в процессоре с микроархитектурой Nehalem

Еще одно важное нововведение в архитектуре Nehalem — это использование двухуровневой иерархии буфера ассоциативной трансляции (Translation Lookaside Buffer, TLB) или буфера трансляции виртуальных адресов страниц памяти в физические.

То есть если в архитектуре Intel Core традиционно использовалось два отдельных TLB буфера для инструкции (ITLB) и данных (DTLB), которые можно рассматривать как буферы первого уровня, то теперь дополнительно введен унифицированный TLB-буфер для данных и команд, который является буфером второго уровня. TLB-буфер второго уровня рассчитан на 512 записей, причем поддерживаются записи только для страниц памяти размером 4K (Small Page). При этом ITLB-буфер рассчитан на 128 записей страниц памяти типа Small Page и семь записей (в расчете на один поток) для страниц типа Large Page (размером 2M/4M). Буфер DTLB рассчитан на 64 записи страниц памяти типа Small Page и 32 записи для страниц типа Large Page.

Естественно, что описанными изменениями в архитектуре Nehalem в сравнении с архитектурой Intel Core дело не ограничивается. Так, увеличен размер буфера переупорядочения (ReOrder Buffer, ROB) — если ранее он был рассчитан на 98 микроинструкций, то теперь в нем можно размещать 128 микроинструкций. Кроме того, существенно улучшен механизм предсказания ветвлений.

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

Рисунок

Рис. 5. Исполнительные блоки ядра процессора Nehalem

Еще одно существенное нововведение — это новый набор расширений инструкций SSE4.2. Он включает поддержку всех 47 команд SSE4, а также семь новых программно-ориентированных ускорителей (Application Targeted Accelerator, ATA) обработки строк и текстовой информации. По утверждению разработчиков, дополнительные ускорители будут полезны, например, в задачах лексического и синтаксического анализа, при работе с регулярными выражениями и поиске вирусов.

Говоря об особенностях новой микроархитектуры Nehalem, остается добавить, что длина конвейера в процессоре Nehalem составляет 16 ступеней. Напомним, что в процессоре c микроархитектурой Intel Core конвейер включал 14 ступеней, а в процессоре Northwood — 31 ступень.

Технология Hyper-Тhreading в микроархитектуре Nehalem

Как известно, технология Hyper-Тhreading используется для того, чтобы наиболее эффективно загрузить все имеющиеся исполнительные блоки процессора и тем самым избежать появления пустых циклов. Технология Hyper-Тhreading была анонсирована компанией Intel еще в 2002 году и по сути является технологией многопоточной обработки команд. Фактически технология Hyper-Threading позволяет организовать два логических процессора в одном физическом.

Поскольку технология Hyper-Тhreading, которая будет реализована в микроархитектуре Nehalem, практически ничем не отличается от технологии Hyper-Тhreading, применяемой в микроархитетуре Intel Burst, мы лишь вкратце напомним основные принципы ее реализации.

Для реализации параллельной обработки инструкции в технологии Hyper-Threading все инструкции разделяются на два параллельных потока (попутно заметим, что в скором будущем компания Intel собирается реализовать технологию Hyper-Threading с четырьмя параллельными потоками).

Конструктивно ядро процессора с поддержкой технологии Hyper-Threading состоит из двух логических процессоров, каждый из которых имеет свои регистры и контроллер прерываний (Architecture State, AS), а значит, две параллельно исполняемые задачи работают с собственными независимыми регистрами и прерываниями, но при этом используют одни и те же ресурсы процессора для выполнения своих задач. После активации каждый из логических процессоров может самостоятельно и независимо от другого процессора выполнять свою задачу, обрабатывать прерывания либо блокироваться. Таким образом, от реальной двухпроцессорной конфигурации новая технология отличается лишь тем, что оба логических процессора применяют одни и те же исполняющие ресурсы, одну и ту же разделяемую между двумя потоками кэш-память и одну и ту же системную шину. Использование двух логических процессоров позволяет усилить параллелизм на уровне потока, реализованный в современных операционных системах и высокоэффективных приложениях. Команды от обоих исполняемых параллельно потоков одновременно посылаются ядру процессора для обработки. Применяя технологию out-of-order (исполнение командных инструкций не в порядке их поступления), ядро процессора тоже способно параллельно обрабатывать оба потока за счет использования нескольких исполнительных модулей.

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

Поясним все вышесказанное на примере. Представьте себе гипотетический процессор, в котором имеются четыре исполнительных блока: два для работы с целыми числами (арифметико-логическое устройство, ALU), один для работы с числами с плавающей точкой (FPU) и один для записи и чтения данных из памяти (Store/Load, S/L). Кроме того, пусть каждая операция осуществляется за один такт процессора. Далее предположим, что выполняется программа, состоящая из трех инструкций: первые две — арифметические действия с целыми числами, а последняя — сохранение результата. В этом случае вся программа будет выполнена за два такта процессора: в первом такте задействуются два блока ALU-процессора (красный квадрат на рис. 6), во втором — блок записи и чтения данных из памяти S/L.

Рис. 6. Реализация параллелизма
на уровне инструкций
(Instruction Level Parallelism, ILP)

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

Рис. 7. Выполнение двух потоков на процессоре
без реализации и с реализацией технологии Hyper-Threading

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

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

Иерархия кэш-памяти в микроархитектуре Nehalem

Как мы уже отмечали, одна из главных особенностей новой микроархитектуры — это изменение структуры кэш-памяти процессора (рис. 8). Собственно, кэш-память первого уровня (L1) практически не претерпела изменений. Изменился лишь размер TLB-буфера и ассоциативность кэша инструкций. Если ранее кэш L1 делился на 32-килобайтный кэш данных и 32-килобайтный кэш инструкций и оба кэша являлись 8-канальными, а размер строки кэша составлял 64 байт, то теперь кэш L1 делится на 8-канальный 32-килобайтный кэш данных и 4-канальный 32-килобайтный кэш инструкций.

Рисунок

Рис. 8. Структура кэш-памяти
процессора Nehalem

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

Кэш L2 также является 8-канальным, а размер строки кэша составляет 64 байт. Кэш L3 является 16-канальным.

Размер разделяемого кэша L3 может быть различным и зависит от числа ядер процессора. В частности, как мы уже отмечали, для четырехъядерного процессора Bloomfield размер L3-кэша составляет 8 Мбайт.

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

Использование именно инклюзивного L3-кэша имеет свои преимущества по сравнению с эксклюзивной архитектурой. Рассмотрим несколько характерных примеров чтения данных из кэша L3. Предположим сначала, что ядро процессора Core 0, обнаружив, что требуемых ему данных нет ни в кэше L1, ни в кэше L2, обращается к кэшу L3 (рис. 9). Если требуемых данных нет также и в кэше L3, то в случае эксклюзивной архитектуры кэша L3 потребовалось бы также проверить наличие требуемых данных в кэшах L1 и L2 каждого из ядер — Core 1, Core 2 и Core 3 (рис. 10). В случае инклюзивной архитектуры кэша L3 необходимость в подобной проверке отпадает, поскольку инклюзивная архитектура кэша L3 гарантирует, что при отсутствии данных в кэше L3 они будут отсутствовать и в L1-, и L2-кэше.

Рисунок

Рис. 9. Ядро Core 0, обнаружив, что требуемых ему данных
нет ни в кэше L1, ни в кэше L2, обращается к кэшу L3

Рисунок

Рис. 10. В случае эксклюзивной архитектуры кэша L3
при отсутствии данных в кэше L3 необходимо проверить
наличие этих данных в кэшах L1 и L2 каждого из ядер —
Core 1, Core 2 и Core 3

Рисунок

Рис. 11. Если требуемые ядру Core 0 данные обнаруживаются
в кэше L3, то при эксклюзивной архитектуре кэша L3 больше
не нужно предпринимать каких-либо действий, поскольку
эта архитектура гарантирует отсутствие
таких данных в кэшах L1 и L2 остальных ядер

Рисунок

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

Если же требуемые ядру Core 0 данные обнаруживаются в кэше L3, то при эксклюзивной архитектуре кэша более не требуется предпринимать каких-либо действий, поскольку эта архитектура гарантирует отсутствие таких данных в кэшах L1 и L2 ядер Core 1, Core 2 и Core 3 (рис. 11). При инклюзивной архитектуре кэша L3 наличие требуемых данных в кэше L3 означает, что эти данные также содержатся и в каком-то из кэшей ядра Core 1, Core 2 или Core 3. Однако в архитектуре Nehalem в этом случае не требуется дополнительной проверки кэшей L1 и L2 всех остальных ядер. Достигается это тем, что в тэг-поле кэш-строки L3-кэша записывается, к какому из ядер принадлежат данные (рис. 12), поэтому достаточно лишь прочитать содержимое этого тэга.

Заключение

Как уже отмечалось, новые процессоры Nehalem будут несовместимы с современными чипсетами Intel 4-й серии. Более того, для них придется использовать кулеры с новой системой крепления. Одновременно с выходом процессора Bloomfield — первого четырехъядерного процессора на базе микроархитектуры Nehalem — будет анонсирован чипсет Intel X58 Express, имеющий кодовое название Tylersburg. Пока что подробных данных относительно этого чипсета нет. Известно лишь, что это будет двухчиповое решение, то есть северный мост в паре с традиционным южным мостом. Причем будет использоваться южный мост ICH10R — тот самый, который сейчас применяется в чипсетах Intel 4-й серии. За счет переноса контроллера памяти на процессор северный мост чипсета Tylersburg существенно упростится. Известно, что северный мост чипсета будет поддерживать два интерфейса PCI Express 2.0 x16 или четыре интерфейса PCI Express 2.0 x8.

Ну и последняя особенность чипсета Intel X58 Express заключается в том, что в нем будет реализована поддержка режима NVIDIA SLI.

Как стало известно, компания Intel получила от NVIDIA лицензию на использование технологии SLI. Взамен NVIDIA получила от Intel лицензию на использование шины QPI в своих чипсетах для процессоров Intel. Правда, по слухам, первоначально компания NVIDIA будет производить чипсеты только для процессора Lynnfield с разъемом LGA 1160.

Известно, что режим SLI на платах с чипсетами Intel будет реализован за счет использования дополнительного чипа NVIDIA nForce 200 chip (BR04). Таким образом, платы на базе чипсета Intel X58 Express можно будет использовать как с видеокартами ATI в режиме CrossFire, так и с видеокартами NVIDIA в режиме SLI.

  • ПК и комплектующие
    • Настольные ПК и моноблоки
    • Портативные ПК
    • Серверы
    • Материнские платы
    • Корпуса
    • Блоки питания
    • Оперативная память
    • Процессоры
    • Графические адаптеры
    • Жесткие диски и SSD
    • Оптические приводы и носители
    • Звуковые карты
    • ТВ-тюнеры
    • Контроллеры
    • Системы охлаждения ПК
    • Моддинг
    • Аксессуары для ноутбуков
    • Принтеры, сканеры, МФУ
    • Мониторы и проекторы
    • Устройства ввода
    • Внешние накопители
    • Акустические системы, гарнитуры, наушники
    • ИБП
    • Веб-камеры
    • KVM-оборудование
    • Сетевые медиаплееры
    • HTPC и мини-компьютеры
    • ТВ и системы домашнего кинотеатра
    • Технология DLNA
    • Средства управления домашней техникой
    • Планшеты
    • Смартфоны
    • Портативные накопители
    • Электронные ридеры
    • Портативные медиаплееры
    • GPS-навигаторы и трекеры
    • Носимые гаджеты
    • Автомобильные информационно-развлекательные системы
    • Зарядные устройства
    • Аксессуары для мобильных устройств
    • Цифровые фотоаппараты и оптика
    • Видеокамеры
    • Фотоаксессуары
    • Обработка фотографий
    • Монтаж видео
    • Операционные системы
    • Средства разработки
    • Офисные программы
    • Средства тестирования, мониторинга и диагностики
    • Полезные утилиты
    • Графические редакторы
    • Средства 3D-моделирования
    • Веб-браузеры
    • Поисковые системы
    • Социальные сети
    • «Облачные» сервисы
    • Сервисы для обмена сообщениями и конференц-связи
    • Разработка веб-сайтов
    • Мобильный интернет
    • Полезные инструменты
    • Средства защиты от вредоносного ПО
    • Средства управления доступом
    • Защита данных
    • Проводные сети
    • Беспроводные сети
    • Сетевая инфраструктура
    • Сотовая связь
    • IP-телефония
    • NAS-накопители
    • Средства управления сетями
    • Средства удаленного доступа
    • Системная интеграция
    • Проекты в области образования
    • Электронный документооборот
    • «Облачные» сервисы для бизнеса
    • Технологии виртуализации
    1999 1 2 3 4 5 6 7 8 9 10 11 12
    2000 1 2 3 4 5 6 7 8 9 10 11 12
    2001 1 2 3 4 5 6 7 8 9 10 11 12
    2002 1 2 3 4 5 6 7 8 9 10 11 12
    2003 1 2 3 4 5 6 7 8 9 10 11 12
    2004 1 2 3 4 5 6 7 8 9 10 11 12
    2005 1 2 3 4 5 6 7 8 9 10 11 12
    2006 1 2 3 4 5 6 7 8 9 10 11 12
    2007 1 2 3 4 5 6 7 8 9 10 11 12
    2008 1 2 3 4 5 6 7 8 9 10 11 12
    2009 1 2 3 4 5 6 7 8 9 10 11 12
    2010 1 2 3 4 5 6 7 8 9 10 11 12
    2011 1 2 3 4 5 6 7 8 9 10 11 12
    2012 1 2 3 4 5 6 7 8 9 10 11 12
    2013 1 2 3 4 5 6 7 8 9 10 11 12

    Популярные статьи

    В настоящем обзоре мы рассмотрим модель моноблока от компании HP, которая является признанным лидером в производстве компьютеров как для домашнего использования, так и для офисов. Моноблок HP 205 G4 22 — модель нового семейства, которая построена на базе процессоров AMD последнего поколения и отличается неплохой производительностью вкупе с привлекательной ценой

    Швейцарская компания Logitech G представила беспроводную игровую мышь Logitech G PRO X Superlight. Новинка предназначена для профессиональных киберспортсменов, а слово Superlight в ее названии указывает на малый вес этой модели, который не превышает 63 г. Это почти на четверть меньше по сравнению с анонсированным пару лет тому назад манипулятором Logitech G PRO Wireless

    Как показало недавнее исследование Кембриджского университета — количество людей, которые пользуются сегодня криптовалютами, приближается к размеру населения небольшой страны и это только начало, мир меняется. Поэтому компания ASRock разработала и выпустила в продажу весьма необычную материнскую плату — H110 PRO BTC+, которую мы и рассмотрим в этом обзоре

    Компания Rapoo анонсировала в Китае беспроводную клавиатуру Ralemo Pre 5 Fabric Edition. Новинка выполнена в формате TKL (без секции цифровых клавиш) и привлекает внимание оригинальным дизайном. Одна из отличительных особенностей этой модели — верхняя панель, обтянутая тканью с меланжевым рисунком

    Линейку компьютерных мониторов MSI пополнила модель Optix MAG301 CR2, адресованная любителям игр. Она оборудована ЖК-панелью типа VA со сверхширокоформатным (21:9) экраном изогнутой формы (радиус закругления — 1,5 м). Его размер — 29,5 дюйма по диагонали, разрешение — 2560×1080 пикселов

    Каталог продукции компании SilverStone пополнил комплект MS12. Он позволяет создать портативный накопитель на базе стандартного SSD типоразмера M.2 2280 с интерфейсом PCI Express

    Компания ADATA Technology анонсировала твердотельные накопители серии XPG Spectrix S20G. Они предназначены для оснащения игровых ПК и, как утверждают их создатели, сочетают высокую производительность и эффектный внешний вид

    Линейку видеоадаптеров ASUS на базе графических процессоров NVIDIA пополнила модель GeForce RTX 3070 Turbo (заводской индекс TURBO-RTX3070-8G), предназначенная для оснащения игровых ПК. Одной из особенностей новинки является конструкция системы охлаждения

    КомпьютерПресс использует

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

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