Процессоры ПК

Автор: Пользователь скрыл имя, 06 Ноября 2014 в 18:02, курсовая работа

Краткое описание

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

Оглавление

Введение 3
1 Процессоры ПК 5
1.1 Понятие и основные характеристики процессоров 5
1.2 Понятие прерывания и основные виды прерываний 10
1.3 Архитектура процессора 16
2 Обзор современных процессоров ПК 27
2.1 Процессоры семейства Intel 27
2.2 Процессоры семейства AMD 34
Заключение 36
Список использованной литературы 37

Файлы: 1 файл

курсовая.docx

— 69.76 Кб (Скачать)

Наборы инструкций в более ранних архитектурах для облегчения ручного написания программ на языках ассемблеров или прямо в машинных кодах, а также для упрощения реализации компиляторов, выполняли как можно больше работы. Нередко в наборы включались инструкции для прямой поддержки конструкций языков высокого уровня. Другая особенность этих наборов — большинство инструкций, как правило, допускали все возможные методы адресации  — к примеру, и операнды, и результат в арифметических операциях доступны не только в регистрах, но и через непосредственную адресацию, и прямо в памяти. Позднее такие архитектуры были названы CISC. Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.

Характерные особенности RISK процессоров:

  • Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.

  • Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).

  • Большое количество регистров общего назначения (32 и более).

  • Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.

  • Отсутствие микропрограмм внутри самого процессора. То, что в CISC-процессоре исполняется микропрограммами, в RISC-процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.

Рассмотрим конвейеры.

Конве́йер — это способ организации вычислений, используемый в современных процессорах и контроллерах с целью повышения их производительности (увеличения числа инструкций, выполняемых в единицу времени), технология, используемая при разработке компьютеров. 
           Идея заключается в разделении обработки компьютерной инструкции на последовательность независимых стадий с сохранением результатов в конце каждой стадии. Это позволяет управляющим цепям процессора получать инструкции со скоростью самой медленной стадии обработки, однако при этом намного быстрее, чем при выполнении эксклюзивной полной обработки каждой инструкции от начала до конца. 
            Сам термин «конвейер» пришёл из промышленности, где используется аналогичный принцип работы — материал автоматически подтягивается по ленте конвейера к рабочему, который осуществляет с ним необходимые действия, следующий за ним рабочий выполняет свои функции над получившейся заготовкой, следующий делает еще что-то, таким образом, к концу конвейера цепочка рабочих полностью выполняет все поставленные задачи, не срывая, однако, темпов производства. Например, если на самую медлительную операцию затрачивается одна минута, то каждая деталь будет сходить с конвейера через одну минуту. 
            Считается, что впервые конвейерные вычисления были использованы либо в проекте ILLIAC II (англ. en:ILLIAC II), либо в проекте IBM Stretch (англ. en:IBM Stretch). Проект IBM Stretch предложил термины «получение» (англ. «Fetch»), «расшифровка» (англ. «Decode») и «выполнение» (англ. «Execute»), которые затем стали общеупотребимыми. 
            Многие современные процессоры управляются тактовым генератором. Процессор внутри состоит из логических элементов и ячеек памяти — триггеров. Когда приходит сигнал от тактового генератора, триггеры приобретают своё новое значение и логике требуется некоторое время для декодирования новых значений. Затем приходит следующий сигнал от тактового генератора, триггеры принимают новые значения, и так далее. Разбивая последовательности логических элементов на более короткие и помещая триггеры между этими короткими последовательностями уменьшают время, необходимое логике для обработки сигналов. В этом случае длительность одного такта процессора может быть соответственно уменьшена. 
                    При написании ассемблерного кода (либо разработке компилятора, генерирующего последовательность инструкций) делается предположение, что результат выполнения инструкций будет точно таким, как если бы каждая инструкция заканчивала выполняться до начала выполнения следующей за ней. Использование конвейера сохраняет справедливость этого предположения, однако не обязательно сохраняет порядок выполнения инструкций. Ситуация, когда одновременное выполнение нескольких инструкций может привести к логически некорректной работе конвейера, известна как «конфликт конвейера» (англ. Pipeline hazard). Существуют различные методы устранения конфликтов (форвардинг и другие). 
          Бесконвейерная архитектура значительно менее эффективна из-за меньшей загрузки функциональных модулей процессора в то время, пока один или небольшое число модулей выполняет свою роль во время обработки инструкций. Конвейер не убирает полностью время простоя модулей в процессорах как таковое и не уменьшает время выполнения каждой конкретной инструкции, но заставляет модули процессора работать параллельно над разными инструкциями, увеличивая тем самым количество инструкций, выполняемых за единицу времени, а значит и общую производительность программ. 
          Процессоры с конвейером внутри устроены так, что обработка инструкций разделена на последовательность стадий, предполагая одновременную обработку нескольких инструкций на разных стадиях. Результаты работы каждой из стадий передаются через ячейки памяти на следующую стадию, и так — до тех пор, пока инструкция не будет выполнена. Подобная организация процессора, при некотором увеличении среднего времени выполнения каждой инструкции, тем не менее обеспечивает значительный рост производительности за счёт высокой частоты завершения выполнения инструкций. 
          Не все инструкции являются независимыми. В простейшем конвейере, где обработка инструкции представлена пятью стадиями, для обеспечения полной загрузки, в то время пока заканчивается обработка первой инструкции, должно обрабатываться параллельно ещё четыре последовательных независимых инструкции. Если последовательность содержит инструкции, зависимые от выполняемых в данный момент, то управляющая логика простейшего конвейера приостанавливает несколько начальных стадий конвейера, помещая этим самым в конвейер пустую инструкцию («пузырёк»), иногда неоднократно, — до тех пор, пока зависимость не будет разрешена. Существует ряд приёмов, таких как форвардинг, значительно снижающих необходимость приостанавливать в таких случаях часть конвейера. Однако зависимость между инструкциями, одновременно обрабатываемыми процессором, не позволяет добиться увеличения производительности кратно количеству стадий конвейера в сравнении с бесконвейерным процессором.

Преимущества и недостатки 
Конвейер помогает не во всех случаях. Существует несколько возможных минусов. Конвейер инструкций можно назвать «полностью конвейерным», если он может принимать новую инструкцию каждый машинный цикл (англ. en:clock cycle). Иначе в конвейер должны быть вынужденно вставлены задержки, которые выравняют конвейер, при этом ухудшат его производительность. 
         Преимущества: 
          - Время цикла процессора уменьшается, таким образом увеличивая скорость обработки инструкций в большинстве случаев.

- Некоторые комбинационные логические элементы, такие как сумматоры (англ. adders) или умножители (англ. multipliers) могут быть ускорены путем увеличения количества логических элементов. Использование конвейера может предотвратить ненужное наращивание количества элементов. 
          Недостатки: 
          - Беcконвейерный процессор исполняет только одну инструкцию за раз. Это предотвращает задержки веток инструкций (фактически, каждая ветка задерживается), и проблемы, связанные с последовательными инструкциями, которые исполняются параллельно. Следовательно, схема такого процессора проще и он дешевле для изготовления.

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

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

 

 

2 Обзор современных процессоров ПК

2.1 Процессоры семейства Intel

Модельный ряд процессоров Intel для ПК довольно широк и включает несколько семейств. Однако если говорить о современных процессорах, то имеет смысл ограничиться рассмотрением 45-нм процессоров на микроархитектуре Nehalem, которые представлены семействами Intel Core i7 (Core i7-975 EE, Core i7-965 EE, Core i7-950, Core i7-940, Core i7-920, Core i7 870, Core i7 860) и Intel Core i5 (Core i5 750). Это, конечно же, не означает, что в продаже нет процессоров Intel других семейств. Скорее, наоборот. Что касается процентной доли процессоров Intel Core i7 и Intel Core i5 в розничной торговле, то она отнюдь не доминирует. Основная масса продаваемых сегодня процессоров Intel — это двухъядерные процессоры семейства Intel Core 2 Duo и четырехъядерные процессоры семейства Intel Core 2 Quad. Если в вашем ПК используется процессор Intel Core 2 Duo или Intel Core 2 Quad, то менять его еще рановато, но если речь идет о приобретении нового ПК, то ориентироваться имеет смысл на более новые процессоры, то есть процессоры Intel Core i7 или Intel Core i5. Во всяком случае можно гарантировать, что конфигурация такого компьютера не устареет через два-три года, а вот компьютеры с процессором Intel Core 2 Duo или Intel Core 2 Quad морально устареют уже через год. А потому в дальнейшем мы сконцентрируемся исключительно на процессорах Intel Core i7 и Intel Core i5, то есть на процессорах на микроархитектуре Nehalem.

Вообще, классификация процессоров Intel на микроархитектуре Nehalem весьма нелогична. Дело в том, что процессоры Intel на микроархитектуре Nehalem имеют два несовместимых друг с другом процессорных разъема — LGA 1366 и LGA 1156. Логично было бы процессоры с разными разъемами отнести к различным семействам. Однако в семейство Intel Core i7 входят как процессоры с разъемом LGA 1366 (они носят кодовое название Bloomfield), так и процессоры с разъемом LGA 1156 (имеющие кодовое название Lynnfield). Семейство Intel Core i5 включает лишь процессоры Lynnfield с разъемом LGA 1156. Напомним, что первые процессоры Bloomfield появились на рынке в конце 2008 года, а процессоры Lynnfield — только осенью этого года.

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

Итак, прежде всего и процессоры Bloomfield, и процессоры Lynnfield изготавливаются по 45-нанометровой технологии и являются четырехъядерными.

Отличительной особенностью процессоров Bloomfield и Lynnfield является наличие в них интегрированного контроллера памяти DDR3. В процессорах Bloomfield (Intel Core i7 9xx) применяется трехканальный контроллер памяти DDR3, а в процессорах Lynnfield (Intel Core i7 8xx и Intel Core i5 750), которые позиционируются классом ниже, — только двухканальный контроллер памяти.

В штатном режиме процессоры Bloomfield поддерживают память DDR3-1066, а процессоры Lynnfield — как память DDR3-1066, так и память DDR3-1333.

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

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

Следующий важный момент заключается в том, что все процессоры семейства Intel Core i7 поддерживают технологию многопоточной обработки данных Hyper-Threading (в результате чего операционная система видит четырехъядерный процессор как восемь отдельных логических процессоров или ядер). Процессоры семейства Lynnfield лишены поддержки технологии Hyper-Threading. Собственно, деление процессоров Lynnfield на Core i7 и Сore i5 как раз и связано с поддержкой режима Hyper-Threading. Все процессоры Lynnfield семейства Core i7 (Core i7 870, Core i7 860) являются четырехъядерными и поддерживают режим Hyper-Threading, а четырехъядерные процессоры семейства Сore i5 (Сore i5 750) не поддерживают режим Hyper-Threading.

Также все процессоры семейств Intel Core i7 и Intel Core i5 поддерживают такие технологии, как Enhanced Intel SpeedStep Technology, Intel EM64T, Intel Virtualization Technology, Enhanced Halt State (C1E) и Execute Disable Bit. Впрочем, эти технологии достаточно хорошо известны, поскольку поддерживаются также процессорами Intel предыдущего поколения.

Еще одна общая особенность процессоров семейства Intel Core i7 и Intel Core i5 заключается в том, что все они поддерживают режим Intel Turbo Boost, смысл которого заключается в динамической подстройке тактовых частот ядер процессора.

Для реализации технологии Intel Turbo Boost в процессоре предусмотрен специальный функциональный блок PCU (Power Control Unit), который отслеживает уровень загрузки ядер процессора, температуру процессора, а также отвечает за энергопитание каждого ядра и регулирование его тактовой частоты.

Составной частью PCU является так называемый Power Gate (затвор), который применяется для перевода каждого ядра процессора по отдельности в режим энергопотребления C6 (фактически Power Gate отключает или подключает ядра процессора к линии питания VCC).

В том случае, если какие-то ядра процессора оказываются незагруженными, они попросту отключаются от линии питания с использованием блока Power Gate (их энергопотребление при этом равно нулю). Соответственно тактовую частоту и напряжение питания оставшихся загруженных ядер можно динамически увеличить, но так, чтобы энергопотребление процессора не превысило его TDP. То есть фактически сэкономленное за счет отключения нескольких ядер энергопотребление применяется для разгона оставшихся ядер, но так, чтобы увеличение энергопотребления в результате разгона не превышало сэкономленного энергопотребления.

Более того, режим Intel Turbo Boost реализуется и в том случае, когда изначально загружаются все ядра процессора, но при этом его энергопотребление не превышает значение TDP. В этом случае частота каждого ядра может динамически увеличиваться, но так, чтобы энергопотребление процессора не превышало заданного в BIOS значения. Увеличение частоты в режиме Intel Turbo Boost производится скачкообразно, порциями по 133 МГц (частота системной шины в процессорах составляет 133 МГц).

Режим Intel Turbo Boost нельзя как-то настраивать. Его можно лишь разрешить или запретить (исключение составляют только процессоры серии Extreme Edition и то далеко не на всех платах).

Заметим, что режим Intel Turbo Boost реализуется только в том случае, если в настройках BIOS коэффициент умножения задан как Auto. То есть если жестко задать коэффициент умножения процессора, то режим Intel Turbo Boost работать не будет. И не важно, увеличиваем ли мы коэффициент умножения выше номинального или, наоборот, понижаем его. Более того, даже если коэффициент умножения устанавливается равным номинальному, но не в режиме его автоопределения, то режим Intel Turbo Boost работать не будет.

Информация о работе Процессоры ПК