Добавлен: 06.04.2023
Просмотров: 217
Скачиваний: 1
Core I3, I5 и I7
Микропроцессоры Core i3, i5 и i7 обеспечивают функциональные возможности стандартных настольных компьютеров для дома и бизнеса. Как и в случае с процессором Xeon, большая часть серии имеет несколько ядер и включает в себя Hyper-threading от Intel для запуска до двух процессов на каждом ядре. Чипы имеют часы от 1,2 ГГц до 3,6 ГГц, причем процессоры i7 имеют самые быстрые скорости. Все три типа - это 64-битные конструкции, которые включают технологию виртуализации VT-x, позволяющую одновременно запускать несколько операционных систем на процессоре.
Производитель AMD
Steamroller
В 2014 году AMD снова обновила линейку APU с новой архитектурой Steamroller. AMD перешла на новую 28-нм литографию. Чтобы обеспечить большую совместимость с графической технологией, предпочтение отдавалась плотности кристалла, а не тактовым частотам. По сравнению с предшественником, ЦП демонстрировал неплохое увеличение IPC, частично благодаря большему кэшу L1 и дополнительным внутренним регистрам. Однако новинка уступала Richland в тактовой частоте, так что общий уровень производительности увеличился незначительно.
Однако, благодаря переходу на новый техпроцесс, увеличению числа шейдеров и графической архитектуре AMD GCN, заметно улучшился графический блок APU. APU получили ряд других улучшений, включая совместимость с HSA (впервые среди APU), внедрение технологии цифровой обработки сигнала AMD TrueAudio и поддержку PCIe 3.0.
Первые APU Steamroller были представлены в чипах Kaveri. Позже линейка APU была обновлена до чипов Godavari, основным преимуществом которых была повышенная тактовая частота.
Jaguar
В 2014 году AMD представила на замену устаревающему ядру Bobcat свою новую архитектуру Jaguar. В Jaguar число ядер ЦП выросло до четырёх и появился более быстрый графический процессор на базе GCN с 128 шейдерами. Наряду с повышением частоты, примерно на 15 процентов поднялся показатель IPC. Jaguar значительно обгонял Bobcat по всем параметрам.
Архитектура Jaguar также применяется в консолях Xbox One и Playstation 4. Однако модели APU в этих игровых приставках имеют значительно больше ядер ЦП и iGPU, и другие устройств на базе Jaguar работают заметно медленнее.
Excavator
Последняя архитектура AMD на базе Bulldozer известна как Excavator, она используется в APU Carrizo. Carrizo имеет заметно большую транзисторную плотность (чем предшествующие процессоры Bulldozer), это помогло уменьшить площадь кристалла и сократить энергопотребление. Изменения коснулись и кэш-памяти.
По сравнению с Steamroller у новых процессоров меньше кэша L2, но вдвое больше кэша L1. Поскольку кэш первого уровня в несколько раз быстрее кэша второго уровня, показатель IPC вырос. Целевой буфер предсказания ветвлений был увеличен на 50 процентов до 768 Кбайт, это также положительно сказалось на производительности. Графический процессор получил 512 Кбайт выделенного кэша L2 для повышения скорости обработки графики. Реорганизация системы кэш-памяти в APU также помогла понизить потребляемую мощность, поскольку кэш-память считается довольно энергоёмким компонентом, а у новой конфигурации её совокупной объём на кристалле меньше.
Архитектура CISC
Подход CISC пытается минимизировать количество инструкций для каждой программы, жертвуя количеством циклов на инструкцию. Компьютеры, основанные на архитектуре CISC, предназначены для снижения стоимости памяти. Потому что большие программы нуждаются в большем количестве памяти, что увеличивает стоимость памяти, а большая память становится дороже. Чтобы решить эти проблемы, количество инструкций для каждой программы можно уменьшить, введя количество операций в одну команду, тем самым делая инструкции более сложными.
Архитектура RISC
RISC (компьютер с сокращенным набором инструкций) используется в портативных устройствах из-за его энергоэффективности. Например, Apple iPod и Nintendo DS. RISC - это тип микропроцессорной архитектуры, в которой используется высоко оптимизированный набор инструкций. RISC делает наоборот, уменьшая количество циклов на инструкцию за счет количества инструкций для каждой программы. Конвейеризация - одна из уникальных особенностей RISC. Это выполняется путем перекрытия выполнения нескольких инструкций в конвейере. Он имеет преимущество по сравнению с CISC.
Состав и взаимозависимые компоненты
Типичный процессор имеет несколько компонентов. Первый – это арифметическая логическая единица (ALU), которая выполняет простые арифметические и логические операции. Второй – блок управления (CU), который управляет различными компонентами компьютера. Он считывает и интерпретирует инструкции из памяти и преобразует их в ряд сигналов для активации других частей компьютера. Блок управления вызывает блок арифметической логики для выполнения необходимых вычислений.
Также у процессора есть кэш, который служит в качестве высокоскоростной памяти, где инструкции могут быть скопированы и извлечены. Ранние процессоры состояли из множества отдельных компонентов, но с 1970-х годов они были построены как единый интегрированный блок, называемый микропроцессором [3]. Отдельные компоненты процессора стали настолько интегрированными, что без специализированных приборов их будет достаточно трудно распознать извне. Типичный процессор имеет размер около двух дюймов на два дюйма.
Итак, процессор состоит из трех основных блоков:
- арифметически-логического;
- блока регистров (кэш);
- устройства управления.
Арифметически-логическое устройство (АЛУ) – выполняет все арифметические и логические преобразования данных.
Устройство управления – электронный блок компьютера, включающий в работу устройства, блоки, электронные элементы и цепи в зависимости от содержания текущей команды.
Регистр – ячейка памяти в виде совокупности триггеров, предназначенных для хранения одного данного в двоичном коде.
Количество разрядов в регистре определяется разрядностью микропроцессора.
Регистры общего назначения - образуют сверхоперативную и служат для хранения операндов, участвующих в вычислениях, а также результатов вычислений.
Операндом называются исходные данные, над которыми производятся различные действия в арифметическом устройстве.
Регистр команд служит для хранения команды, выполняемой в текущий момент времени.
Счетчик команд – регистр, указывающий адрес ячейки памяти, где хранится следующая команда.
Стек (стековая память) – совокупность связанных между собой регистров для хранения упорядоченных данных. Первый выбирается из стека данное попавшее туда последним, и наоборот.
Рисунок 1 – состав процессора и принципы взаимодействия
Кэш
Важнейшим компонентом ЦП является кэш. Кэш CPU – это временное место для хранения часто используемых данных. Вместо того, чтобы вызывать оперативную память (RAM) для этих элементов, ЦП определяет, какие данные могут продолжать использоваться, предполагает, что пользователь хочет, чтобы продолжать использовать данные, и сохраняет его в кэше. Кэш быстрее, чем использование оперативной памяти, потому что это физическая часть процессора; больше кэша означает больше места для хранения такой информации.
Кэш процессора вырос с одного уровня до трех уровней на современном процессоре. Более низкие уровни кэша быстрее и содержат меньше памяти, чем более высокие уровни кеша. Уровни кэша называются L1 для первого уровня, L2 для второго уровня и так далее. L1 напрямую работает с компьютерным ЦП. Несколько уровней взаимодействуют друг с другом, чтобы улучшить производительность системы.
APIC ID
Local APIC (advanced programmable interrupt controller) — это устройство (ныне входящее в состав процессора), отвечающее за работу с прерываниями, приходящими к конкретному логическому процессору [2]. Свой собственный APIC есть у каждого логического процессора. И каждый из них в системе должен иметь уникальное значение APIC ID. Это число используется контроллерами прерываний для адресации при доставке сообщений, а всеми остальными (например, операционной системой) — для идентификации логических процессоров. Спецификация на этот контроллер прерываний эволюционировала, пройдя от микросхемы Intel 8259 PIC через Dual PIC, APIC и xAPIC к x2APIC.
В настоящий момент ширина числа, хранящегося в APIC ID, достигла полных 32 бит, хотя в прошлом оно было ограничено 16, а ещё раньше — только 8 битами.
ALU
Арифметический логический блок (ALU) – это субъединица в центральном процессоре компьютера. ALU – арифметический логический блок, который берет данные из регистров памяти; ALU содержит логическую схему для выполнения математических операций, таких как вычитание, сложение, умножение, деление, логические операции и логические сдвиги на значениях, хранящихся в регистрах процессоров или его аккумуляторе.
Это размер слова, которым может управлять ALU, который больше, чем любая другая мера, определяет размер слова процессора: 32-битный процессор - это один с 32-битным ALU.
Простейший тип ALU выполняет только добавление, логическую логику (включая операцию NOT или комплемента) и сдвигает слово на один бит вправо или влево, все остальные арифметические операции синтезируются из последовательностей этих примитивных операций. Например, вычитание выполняется как дополнение к дополнению умножением на мощность двух путем смещения, деление на повторное вычитание. Тем не менее, в современных процессорах возрастает тенденция к внедрению дополнительных арифметических функций в аппаратных средствах, таких как выделенные множители или делители.
ALU мог бы когда-то считаться самой основной частью компьютера в том смысле, что он сам на самом деле выполнял вычисления. Однако в современных архитектурах процессоров SUPERSCALAR это уже не так, поскольку в каждом из нескольких отдельных целых чисел и единиц с плавающей запятой обычно существует несколько разных ALU. ALU может потребоваться выполнять не только те вычисления, которые требуются для пользовательской программы, но также и многие внутренние вычисления, требуемые самим процессором, например, для получения адресов для инструкций, которые используют разные режимы адресации, например, добавив смещение к базовому адресу. Однако, опять же, в современных архитектурах существует тенденция выгружать эту работу в отдельный блок загрузки / хранения.
Три основных атрибута ALU – это его операнды и результаты, функциональная организация и алгоритмы.
Многоядерность и многопоточность
На заре своего развития процессор имел только одно ядро. Это означало, что процессор был ограничен только одним набором задач. Это одна из причин того, что вычисления часто были относительно медленными и трудоемкими, но сменяющими друг друга поочередно.
Некоторые современные устройства имеют одноядерный процессор, в то время как другие могут иметь двухъядерный (или четырехъядерный, и т. д.) процессор. Как уже может быть очевидно, наличие двух процессоров, работающих бок о бок, означает, что процессор может одновременно управлять дважды инструкциями каждую секунду, резко повышая производительность.
Некоторые процессоры могут виртуализировать два ядра для каждого доступного физического ядра, известного как Hyper-Threading. Виртуализация означает, что ЦП с четырьмя ядрами может функционировать так, как если бы он имел восемь, с дополнительными виртуальными ядрами ЦП, называемыми отдельными потоками.
Hyper-threading
Hyper-threading была первой попыткой Intel принести параллельные вычисления на потребительские ПК. В 2002 году он дебютировал на настольных процессорах с Pentium 4. В Pentium 4 того дня было всего лишь одно процессорное ядро, поэтому он мог выполнять только одну задачу за раз, даже если бы он мог бы быстро переключаться между задачами. Hyper-Threading попыталась компенсировать это.
Современные процессоры Intel теперь имеют как несколько ядер, так и технологию гиперпотоков. Двухъядерный процессор с Hyper-Threading выглядит как четыре ядра для операционной системы, в то время как четырехъядерный процессор с Hyper-Threading выглядит как восемь ядер. Hyper-Threading не заменяет дополнительные ядра, но двухъядерный процессор с Hyper-Threading должен работать лучше, чем двухъядерный процессор без Hyper-Threading.
Одно физическое ядро центрального процессора с Hyper-Threading представляется в качестве двух логических процессоров для операционной системы. Хотя операционная система видит два процессора для каждого ядра, фактическое процессорное оборудование имеет только один набор ресурсов выполнения для каждого ядра. CPU делает вид, что он имеет больше ядер, чем есть, и использует свою собственную логику для ускорения выполнения программы. Другими словами, операционная система обманывается в виде двух процессоров для каждого реального ядра процессора.
Hyper-Threading позволяет двум логическим ядрам ядра совместно использовать ресурсы физического исполнения. Это может ускорить процесс - если один виртуальный процессор застопорился и ждет, другой виртуальный процессор может заимствовать ресурсы его выполнения. Гиперпоточность может помочь ускорить работу вашей системы, но она нигде не близка к наличию реальных дополнительных ядер.
Многопоточность
Любое приложение и все что внутри него обернуто в потоки, которые переключает сама операционная система. С одной стороны, довольно-таки медленно происходит переключение, но с другой – для пользователя это почти незаметно.