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

Обновлено: 07.07.2024

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

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

Откуда взялся коэффициент 0.7?

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

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

Первым техпроцессом, который мы увидели с такой схемой наименования, стал процесс 250 нанометров. Производительность была примерно вдвое выше, по сравнению с прошлым поколением, как вы могли и ожидать исходя из названия, но длина затвора на самом деле была примерно 190 нанометров, что значительно меньше. Просто были и другие причины, мешающие упаковывать транзисторы более плотно. Такая ситуация, с площадью ячеек продолжалась примерно до 2012 года, и техпроцесса 22 нанометра, когда был представлено новое направление в проектировании - FinFET.

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

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

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

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

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

Здравствуй, мир! Сегодня у нас серия статьей для людей со средними знаниями о работе процессора в которой мы будем разбираться с процессорными архитектурами (у меня спелл чекер ругается на слово Архитектурами/Архитектур, надеюсь я пишу слово правильно), создавать собственную архитектуру процессора и многое другое.

4004

Принимаются любые замечания!

Исторически сложилось, что существуют много процессоров и много архитектур. Но многие архитектуры имеют схожести. Специально для этого появились "Группы" архитектур типа RISC, CISC, MISC, OISC (URISC). Кроме того они могут иметь разные архитектуры адресации памяти (фон Неймана, Гарвард). У каждого процессора есть своя архитектура. Например большинство современных архитектур это RISC (ARM, MIPS, OpenRISC, RISC-V, AVR, PIC** и т.д.), но есть архитектуры которые выиграли просто за счет других факторов (Например удобство/цена/популярность/etc) Среди которых x86, x86-64 (Стоит отметить, что x86-64 и x86 в последних процессорах используют микрокод и внутри них стоит RISC ядро), M68K. В чем же их отличие?

Reduced Instruction Set Computer — Архитектура с уменьшенным временем выполнения инструкций (из расшифровка RISC можно подумать, что это уменьшенное количество инструкций, но это не так). Данное направления развилось в итоге после того, как оказалось, что большинство компиляторов того времени не использовали все инструкции и разработчики процессоров решили получить больше производительности использую Конвейеры. В целом RISC является золотой серединой между всеми архитектурами.

Яркие примеры данной архитектуры: ARM, MIPS, OpenRISC, RISC-V

Что такое TTA? ТТА это Архитектура на основе всего одной инструкции перемещения из одного адреса памяти в другую. Данный вариант усложняет работу компилятора зато дает большую производительность. У данной архитектуры есть единственный недостаток: Сильная зависимость от шины данных. Именно это и стало причиной ее меньшей популярности. Надо отметить что TTA является разновидностью OISC.

Яркие примеры: MOVE Project

OISC (URISC)?

One Instruction Set Computer — Архитектура с единственной инструкцией. Например SUBLEQ. Такие архитектуры часто имеют вид: Сделать действие и в зависимости от результата сделать прыжок или продолжить исполнение. Зачастую ее реализация достаточно простая, производительность маленькая, при этом снова ограничение шиной данных.

Яркие примеры: BitBitJump, ByteByteJump, SUBLEQ тысячи их!

CISC — Complex Instruction Set Computer — ее особенность в увеличенных количествах действий за инструкцию. Таким образом можно было теоретически увеличить производительность программ за счет увеличения сложности компилятора. Но по факту у CISC плохо были реализованы некоторые инструкции т.к. они редко использовались, и повышение производительности не было достигнуто. Особенностью этой группы является еще ОГРОМНАЯ Разница между архитектурами. И несмотря на названия были архитектуры с маленьким количеством инструкций.

Яркие примеры: x86, M68K

Архитектура фон Неймана

Von Neuman Wiki

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

Архитектура гарварда

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

Конвейеры

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

pipeline


На картинке более понятно, не правда?

IF — получение инструкции,
ID — расшифровка инструкции,
EX — выполнение,
MEM — доступ к памяти,
WB — запись в регистр.

Вроде все просто? А вот и нет! Проблема в том что например прыжок (jmp/branch/etc) заставляют конвейер начать исполнение (получение след. инструкции) заново таким образом вызывая задержку в 2-4 такта перед исполнение следующей инструкции.

Расширение существующих архитектур

Достаточно популярной техникой является добавление в уже существующую архитектуру больше инструкций через расширения. Ярким примером является SSE под x86. Этим же грешит ARM и MIPS и практически все. Почему? Потому что нельзя создать унивирсальную архитектуру.

Другим вариантом является использование других архитектур для уменьшения размера инструкций.
Яркий пример: ARM со своим Thumb, MIPS с MIPS16.

В видеокартах часто встречается много ядер и из-за этой особенности появилась потребность в дополнительных решениях. Если конвейеры можно встретить даже в микроконтроллерах то решения используемых в GPU встречаются редко. Например Masked Execution (Встречается в инструкциях ARM, но не в Thumb-I/II). Еще есть другие особенность: это уклон в сторону Floating Number (Числа с плавающей запятой), Уменьшение производительности в противовес большего количества ядер и т.д.

Masked Execution

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

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

Здесь мы будем описывать несколько техник используемых в центральный процессорах и микроконтроллерах.

Прерывания

Interrupts

Прерывания это техника при которой исполняемый в данный момент код приостанавливается для выполнения какой-то другой задачи при каких-то условиях. Например при доступе в несуществующий участок памяти вызывается HardFault или MemoryFault прерывания или исключения. Или например если таймер отсчитал до нуля. Это позволяет не бездействовать пока нужно ждать какое-то событие.

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

Exception (исключения)

Но кроме прерываний еще существуют исключений которые возникают например при деления на ноль. Зачастую его совмещают с прерываниями и системными вызовами, как например в MIPS. Исключения не всегда присутствуют в процессоре например как в AVR или младших PIC

Системные вызовы

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

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

Привилегированный режим

Это режим в котором стартует процессор. В таком режиме программа или ОС имеют полный доступ к памяти в обход MMU/MPU. Все программы запускаются в непривилегированном режиме во избежания прямого доступа к аппаратным подсистемам программ для этого не предназначенных. Например вредоносным программам. В Windows ее часто называют Ring-0, а в *nix — системным. Не стоит путать Привелигированный пользователь и Привилегированный режим ибо в руте вы все еще не можете иметь прямой доступ к аппаратуре (можно загрузить системный модуль который позволит это сделать, но об этом чуть позже :)

MPU и MMU

MMU

MPU и MMU используется в современных системах чтобы изолировать несколько приложений. НО если MMU позволяет "передвинуть" память то MPU позволяет только блокировать доступ к памяти/запуск кода в памяти.

PIC (PIE)

Что такое PIE? (PIC не использую для избежания путаницы с МК PIC). PIE это техника благодаря которой компилятор генерирует код который будет работать в любом месте в памяти. Эта техника в совмещении с MPU позволяет компилировать высокие языки программирования которые будут работать и с MPU.

Популярная техника SIMD используется для того, что бы за один такт выполнять несколько действий над несколькими регистрами. Иногда бывают в качестве дополнений к основной архитектуре, например, как в MIPS, ARM со своими NEON/VFP/etc, x86 со своим SSE2.

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

Status

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

Используется в связке с Masked Execution. Некоторые разработчики специально исключают регистр статуса ибо он может являться узким местом как поступили в MIPS.

В MIPS нет отдельной инструкции загрузки константы в память, но есть инструкция addi и ori которая позволяет в связке с нулевым регистром ($0) эмулировать работу загрузки константы в регистр. В других архитектурах она присутствует. Я затронул эту тему, потому что она пригодиться нам в статьях с практикой.

Идут множество споров насчет того сколько должно быть операндов в арифметических инструкциях. Например в MIPS используется вариант с 3-мя регистрами. 2 операнда, 1 регистр записи. С другой стороны, использование двух операндов позволяет сократить код за счет уменьшения размера инструкции. Пример совмещения является MIPS16 в MIPS и Thumb-I в ARM. В плане производительности они практически идентичны (Если исключать размер инструкции как фактор).

Endianness

Порядок байт. Возможно вам знакомы Выражения Big-Endian и Little-Endian. Они описывают порядок байт в инструкциях/в регистрах/в памяти/etc. Здесь думаю все просто :). Есть процессоры которые совмещают режимы, как MIPS, или которые используют одну систему команд, но имеют разный порядок байт, например ARM.

128/64/32

Что такое сопроцессоры? Сопроцессоры являются элементами процессора или внешней микросхемой. Они позволяют исполнять инструкции, которые слишком громоздки для основной части процессора. Как яркий пример, сопроцессоры в MIPS для деления и умножения. Или например 387 для 80386, который добавлял поддержку чисел с плавающей запятой. А в MIPS сопроцессоров было много и они выполняли свои роли: контролировали прерывания, исключения и системные вызовы. Часто сопроцессоры имеют собственные инструкции и на системах, где этих инструкций нет, (пример ARM) эмулируют ее через Trap-ы (ловушки?). Несмотря на костыльность и маленькую производительность, они часто являются единственным выбором в микроконтроллерах.

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

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

Cache

Вы, навярняка, слышали о L1, L2, L3 и регистрах. Если коротко, процессор анализирует часть кода, чтобы предугадать прыжки и доступ в память и зараннее просит кеш получить эти данные из памяти. Кеш зачастую бывает прозрачным для программы, но бывают и исключения из этого правила. Например, в программных ядрах в ПЛИС используется програмный кеш.

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

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

Stack

Спросите тогда что такое куча (Heap)? Куча это память размером намного больше чем стек (Стек обычно

1MB). В хипе храниться все глобальное. Например все указатели полученные с помощю Malloc указывают на часть куча. А указатели хранятся в стеке или в регистрах. С помощью инструкций загрузки данных относительно регистра можно ускорить работу стека и других доступов к памяти по типу стека, поскольку не нужно постоянно использовать операции PUSH/POP, INC/DEC или ADDI, SUBI (добавить константу), чтобы получить данные глубже по стеку, а можно просто использовать доступ относительно стека с отрицательным смещением.

Регистры

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

В x86 регистров достаточно мало. В MIPS используется увеличенное количество регистров, а именно 31 ($0 имеет значение всегда равное нулю). В процессоре университета Беркли использовались регистровые окна, которые жестки ограничивали вложенность функций, при этом имея лучшую производительность. В других же, таких как AVR, ограничили использование регистров. Для примера: три 16-битных можно трактовать как шесть восьмибитных, где первые 16ть недоступны при некоторых операциях. Я считаю, что лучший метод был выбран MIPS-ом. Это мое сугубо личное мнение.

Что такое выравнивание? Оставлю-ка я этот вопрос вам :)

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

Нулевые части будут посвящены теории. Я сомневаюсь что доведу всю серию до победного конца, но попытка не пытка! )

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

реклама


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

MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

Процессоры будут являться "синтетическими", "созданными" на основе многоядерного процессора Ryzen 7 2700. В связи с тем, что данный процессор отказывается запускаться на частоте в 2 GHz (но данное сравнение не имело бы никакого отношения с действительностью), удалось создать лишь два "типовых" процессора.

По задумке "синтетический Ryzen 5" будет иметь на 1/3 большее число ядер, чем соперник - "синтетический Ryzen 3". Последний в свою же очередь будет обладать на 1/3 большей тактовой частотой. Итого: "синтетический Ryzen 5" - это процессор с шестью ядрами, работающий на фиксированной частоте в 3 GHz с отключенной технологией SMT; "синтетический Ryzen 3" будет представлять из себя CPU с четырьмя ядрами без технологии SMT, находящимися в разгоне до частоты в 4 GHz. Остальные же параметры у данных процессоров будут идентичны Ryzen 7 2700.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

Даже простым перемножением ядер на частоты, не сложно догадаться, что конфигурация с шестью ядрами, работающими на частоте в 3 GHz будет немного сильнее конфигурации с четырьмя ядрами, работающими на частоте 4 GHz. В условном "математическом бенчмарке" (данный "бенчмарк" справедлив только для "синтетических процессоров", различающихся лишь количеством и частотой ядер), суммарная производительность данных CPU будет сопоставима, как "18" и "16" в пользу процессора с большим количеством ядер, так как для большей справедливости данного тестирования, ему следовало "привязать" частоту в 2.66 GHz.

Но данное действие было невозможно по той же причине, по которой в тестировании отсутствует "синтетический Ryzen 7 / Xeon" с частотой в 2 GHz. Материнская плата ASUS TUF B450M-PRO GAMING не может запустить процессор Ryzen 7 2700 с частотой ниже 2.8 GHz: во-первых, это не подразумевается, так как минимальный множитель для данного процессора равен 28; во-вторых, при попытке "взятия" необходимой частоты посредством комбинации множитель/делитель (формула следующая: Ratio=2*FID/DID), система отказывается запускаться с любым напряжением, даже в значении "авто".

И кто-то заметит, что данное сравнение двух математически не равных процессоров якобы теряет смысл, так как "итак понятно, что процессор с шестью ядрами окажется чуть сильней". Но в данном случае частоты процессоров приближены к реальным, а сравнить процессоры на 2 GHz, 2,66GHz и 4 GHz, было бы как минимум нелепо, так как процессоров Ryzen с такими низкими частотами попросту нет. И опять же, это ни в коем случае не "симуляция известных процессоров", это всего лишь попытка сравнения высокой частоты и большого количества ядер, что важнее сейчас.

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

реклама

Но для начала осмотр тестовой конфигурации.

"Синтетические" процессоры тестировались на следующей конфигурации:

  • Системная плата: Asus TUF B450M PRO GAMING;
  • ОЗУ: CRUCIAL Ballistix BL2K16G30C15U4B 2x16 Гб, 3333 MHz CL14
  • Система охлаждения процессора: AMD Wraith Spire ;
  • Термопаста: AMD;
  • Видеоадаптер: GeForce GTX 1060 Xtreme Gaming 6G;
  • Накопители: Samsung SSD 850 120GB (под Windows), Western Digital WD Blue 1 TB (под игры);
  • Блок питания: Enermax Revolution D.F. , 650 Ватт;
  • Корпус: Thermaltake View 31 TG;
  • Монитор: Sharp Aquos lc-26le320e-bk ;
  • Операционная система: Windows 10 Pro x64 (1909).

Вольтаж для процессора с шестью ядрами был подобран 0.8125 вольта, вольтаж же для процессора с четырьмя разогнанными ядрами составил 1.25 вольта. LLC был отрегулирован так, что напряжение при возрастании нагрузки оставалось стабильным.

Тестирование энергопотребления / уровня шума / температурных показателей

Тестирование процессоров проводилось посредством 10-минутного теста OCCT версии 5.5.7 с использованием AVX2 инструкций.

реклама

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









Таким образом, в тестировании OCCT процессор с шестью медленными ядрами оказался более "прохладным", чем процессор с разогнанными четырьмя ядрами. Но результаты данного тестирования нельзя интерпретировать на якобы Ryzen 5 3500X и Ryzen 3 3100/3300X. Все процессоры уникальны и данный тест лишь показывает серьезно возросшие показатели тепловыделения при небольшом разгоне, что характерно для всех процессоров Ryzen.

Тестирование в синтетических программах: CPU-Z

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



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


Результаты "математического бенчмарка" подтвердились. Четыре разогнанных ядра хоть и обошли шесть маломощных ядер в однопоточной производительности, но серьезно уступили во многоядерной производительности. Медленные шесть ядер обходят четыре быстрых на 12.5%, данная разница была известна еще заранее из "математического бенчмарка": разница между 18 и 16 составляет 12.5%.



Тестирование в синтетике: Cinebench R20, CPU Queen, CPU PhotoWorxx

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

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


Как мы можем наблюдать, процессоры очень близки по своей производительности в синтетических тестах. Но у процессора с низкой частотой и шестью ядрами закономерный отрыв в Cinebench R20 и небольшое превосходство в CPU PhotoWorxx. По результатам "общей синтетики" трудно выявить явного фаворита, процессоры очень близки, но за счет чисто "математического превосходства", 6 ядер с частотой в 3 GHz становятся более предпочтительными.







"Игровая синтетика": Ashes of the Singularity: Escalation


Тестирование производилось с акцентом именно на CPU.

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


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


Assassin's Creed Odyssey


Настройки графики - минимально возможные.

Дополнительные слабые ядра положительно сказались на производительности в игре Assassin's Creed Odyssey.

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


Даже на минимальные настройки графики не смогли "спасти" четыре разогнанных ядра от проигрыша в Assassin's Creed Odyssey. К сожалению, разница в гигагерц не дала фору четырем ядрам.

Far Cry New Dawn

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


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



Metro Exodus


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


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


4 ядра


6 ядер

Заключение

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

Единственно, что можно вычленить из всего этого тестирования - покупайте процессоры холодные, производительные и современные, особое внимание уделяйте микроархитектуре процессора, не гонитесь за парой лишних ядер при низкой частоте, но и не акцентируйте внимание на высоких частотах. Совсем скоро пред многими предстанет выбор бюджетного процессора для игр и мультимедиа - Ryzen 5 1600AF и Ryzen 3 3100. Какой процессор выбрать по моему мнению - никакой, а чуть переплатить и забрать Ryzen 5 3500X. А все потому что процессоры из одного ценового сегмента примерно равны по производительности, либо же созданы под определенные задачи, на которые и вам стоит ориентироваться.

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

Следовательно, если вы играете в игры, то оптимальным вариантом будет приобретение процессора с шестью производительными ядрами , если вас интересуют онлайн игры, то хорошим бюджетным решением будет четырехъядерный процессор с высокой производительностью на ядро, желательно с технологией многопоточности. А если вам нужен процессор для работы , тогда стоит обратить внимание на многоядерные процессоры с наименьшей ценой за ядро при большом количестве ядер. Отличный пример - Ryzen 9 3900 PRO.

Если же вы собираете универсальный компьютер с прицелом на будущее, то отличным решением для вас будет покупка современного процессора с восемью ядрами: Ryzen 7 1700 / 1700X / 2700 / 2700X - бюджетные универсальные процессоры для тех, кто не гонится за максимальным FPS в играх; Ryzen 7 3700X / I7 9700KF - максимальный FPS за разумные деньги с прицелом на будущее; I9 9900KF - лучший выбор энтузиаста-максималиста, если в ближайшие 5-7 лет планируется апгрейд только видеокарты.

А что вы считаете по этому поводу и по какому принципу выбираете процессор для себя ?

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

Общее понятие архитектуры процессора ПК

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

процессор

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

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

Стоит отметить, что ЦП, выполняющие одинаковую программную модель, могут значительно отличаться друг от друга микроархитектурой – например, устройства от фирм AMD и Intel. Современные чипы имеют идентичную программную архитектуру x86, но абсолютно разную микроархитектуру.

Роль количества ядер, их влияние на производительность

Первоначально ЦП имели только одно ядро. Однако на рубеже XX и XXI веков инженеры пришли к выводу, что стоит увеличить их количество. Это должно было позволить получить более высокую вычислительную мощность, а также позволить обрабатывать несколько задач одновременно.

двухъядерный процессор

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

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

Что такое потоки и на что влияет их количество

Потоки – это виртуальный компонент или код, который разделяет физическое ядро процессора на несколько ядер. Одно ядро имеет до 2 потоков.

одно ядро два потока

Например, если процессор двухъядерный, то он будет иметь 4 потока, а если восьмиядерный – 16 потоков.

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

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

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

Единственный факт, который ограничивает создание потоков, – количество основных потоков, предоставляемых физическим процессором. А их количество зависит от ядер.

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

Рекомендации по выбору процессора

При выборе ЦП некоторые характеристики будут важнее других – это зависит от предпочтений пользователя.

Для офиса

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

Частота является еще одним фактором, который следует принимать во внимание. Хотя частота – это не единственное, что определяет скорость, она оказывает существенное влияние. Используемое программное обеспечение будет влиять на скорость. Например, при регулярном использовании Adobe CS 6, лучше всего подойдет процессор со скоростью не менее 2 ГГц.

Для инженерных задач

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

компьютер для инженерных задач

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

Для работы с графикой

При работе с графикой требования к процессору отличаются. Для обработки 2D графики – подойдут бюджетные варианты, 2 или 4 ядра с тактовой частотой 2,4 ГГц вполне справятся с задачей.

Для работы с 3D графикой лучше всего выбирать 4 или 6-ядерные чипы, с тактовой частотой 3 ГГц и выше, а также с поддержкой многопоточности.

Для игрового ПК

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

геймер

Первое, что нужно учитывать – это количество ядер. В дополнение к числу ядер, геймерам также важно учитывать тактовую частоту. Для современных игр потребуется частота 3,8 ГГц или выше.

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

Для стриминга

Выбор ЦП для стриминга зависит от сборки самого ПК.

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

Для профессионального стриминга понадобится ЦП с 6, 8, 16 ядрами и тактовой частотой 4 ГГц и выше. Тут выбор будет завесить от купленной видеокарты и нужного разрешения для стрима.

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

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

hello_html_m55fb894a.jpg

Рисунок 1 – Процессор

обработка данных (выполнение над ними арифметических и логических операций);

управление всеми остальными устройствами компьютера.

Тактовая частота (в МГц, ГГц) и подразумевает под собой количество тактов (вычислений) в секунду.

Частота шины – тактовая частота (в МГц), с которой происходит обмен данными между процессором и системной шиной материнской платы.

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

Разрядность (32/64 bit) — максимальное количество бит информации, которые процессор может обрабатывать и передавать одновременно.

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

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

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

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

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

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

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

Тип сокета – то есть разъём для установки процессора на материнской плате.

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

Рисунок 2 – Оперативная память

Функции оперативной памяти:

прием информации от других устройств;

передача информации по запросу в другие устройства компьютера.

Характеристики оперативной памяти:

тип DDR — 1, 2, 3, 4;

тайминги – длительность импульсов и пауз обновления ячеек памяти;

тактовая частота оперативной памяти — частота в МГц (количество импульсов в секунду), с которой работает оперативная память;

тактовая частота шины — частота канала, по которому идёт обмен данными между оперативной памятью и процессором;

пропускная способность — это сколько за секунду времени может быть «пропущено» данных через плату оперативной памяти;

Жёсткий диск, винчестер (накопитель на жёстких магнитных дисках, или НЖМД) 3 — запоминающее устройство произвольного доступа, основанное на принципе магнитной записи.

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

hello_html_55daf82.jpg

Рисунок 3 – Жёсткий диск

Характеристики жёстких дисков:

скорость вращения шпинделя;

наработка на отказ;

среднее время ожидания;

энергопотребление и тепловыделение.

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

hello_html_397f50b4.jpg

Рисунок 4 – Видеокарта

производитель видеопроцессора (GPU);

частота GPU, МГц;

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

объем видеопамяти, ГБ;

тактовая частота видеопамяти, МГц;

шина обмена данными с памятью, бит;

поддержка SLI и CrossFire;

поддержка разных версий DirectX;

необходимость дополнительного питания.

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

hello_html_m5b7f3863.jpg

Рисунок 5 – Магистрально-модульный принцип построения компьютера

Системная шина или магистраль компьютера включает в себя три многоразрядные шины:

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

шину адреса – для адресации пересылаемых данных, то есть для определения их местоположения в памяти или в устройствах ввода/вывода;

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

Основой построения модульного устройства компьютера является материнская (или системная) плата 5 — печатная плата, которая содержит основную часть устройства (рис. 6).

hello_html_79888f61.jpg

Рисунок 6 – Материнская плата

На системной (материнской) плате размещаются:

генератор тактовых импульсов;

контроллеры внешних устройств;

звуковая и видеокарты;

Многообразие компьютеров

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

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

Существует различные системы классификации ЭВМ:

по производительности и быстродействию;

по уровню специализации;

по типу используемого процессора;

по особенностям архитектуры;

Рассмотрим одну из таких классификаций.

1. Персональные компьютеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

По назначению периферийные устройства можно подразделить на:

устройства ввода данных;

устройства вывода данных;

устройства хранения данных.

Рисунок 7 – Классификация периферийных устройств

Виды программного обеспечения компьютеров

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

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

1. Системное программное обеспечение (системные программы);

2. Прикладное программное обеспечение (прикладные программы);

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

Центральное место среди системных программ занимают операционные системы (англ. operating systems).

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

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

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

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

программы-упаковщики (архиваторы), которые позволяют более плотно записывать информацию на дисках, а также объединять копии нескольких файлов в один, так называемый, архивный файл (архив);

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

программы оптимизации и контроля качества дискового пространства;

программы восстановления информации, форматирования, защиты данных;

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

коммуникационные программы, организующие обмен информацией между компьютерами и др.

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

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

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

1 англ . central processing unit, CPU

2 англ . Random Access Memory , RAM , память с произвольным доступом

3 англ . hard (magnetic) disk drive, HDD, HMDD

4 также видеоадаптер, графический адаптер, графическая плата, графическая карта, графический ускоритель

Читайте также: