Файл: Процессор персонального компьютера. Назначение, функции, классификация процессора.pdf
Добавлен: 29.04.2023
Просмотров: 112
Скачиваний: 1
Все процессоры характеризуются следующими основными параметрами:
- типом микроархитектуры оборудования;
- тактовой частотой;
- совокупностью команд;
- количеством уровней для памяти;
- скоростью и типологией системной шины;
- отсутствием контроллера;
- объемом используемой памяти;
- типом и функционалом поддерживаемой ОЗУ.
Упрощенная схема центрального процессора показана ниже на рисунке 8.
Рисунок 8 – Построение центрального микропроцессора
2.2. Структура процессора
Ядро процессора является основной частью, которая может содержать практически все функциональные блоки и осуществляет выполнение всех логических, арифметических операций с данными.
На рисунке 8 указана также и структурная схема для ядра процессора. Как видно, практически все ядра для центрального процессора могут состоят с блоков:
- выборки;
- данных;
- управления;
- декодирования;
- сохранения результатов;
- набора регистров;
- выполнения инструкций;
- прерываний;
- микрокода;
- счетчики разных команд.
Блок выборки также может осуществлять считывание программных команд по их установленному адресу, указанному на счетчике каждой команды. За каждый такт может считываться сразу несколько программных инструкций.
Количество всех обрабатываемых инструкций обусловлено также и общим количеством блоков при декодировании, поскольку необходимо также загрузить в каждом такте максимально процесс декодирования.
При оптимальной работе декодирования, а также в ядре для процессора есть специальный распределитель переходов, который и выполняет определение, какая последовательность программных команд будет выполняться после выполнения переходов.
Этот факт также очень необходим, для того, чтобы после выполненного перехода максимально нагрузить ядро.
Блоки декодирования являются специальными блоками, что занимаются процессом для декодирования инструкций, они определяют, что нужно сделать определенному процессору, какие такие вспомогательные данные надобны для корректной реализации инструкции.
Задача для блоков в большинстве современных процессоров, построенных на базе концепции CISC, считаются очень сложными. Дело также в том факте, что длина инструкций, а также количество разных операндов бывает разное, нефиксированное, а это сильно может усложнять всю работу разработчиков процессоров, а также и делает процесс декодирования совсем нетривиальным.
Часто такие отдельные команды могут заменять специальным микрокодом, то есть серией простых команд, что в своей совокупности выполняют аналогичные действие, что и только одна сложная инструкция. микрокод записан в область с ПЗУ. [18]
К тому же микрокод упрощает саму разработку процессоров, ведь при этом отпадает необходимость при реализации сложноустроенных структур для ядер выполнения его отдельных инструкций, а также выполнить исправление такого микрокода намного проще.
Во многих современных процессорах, обычно, могут рассматривать сразу несколько блоков по декодирования использованных программных инструкций.
Для процессоров класса Intel Core 2 ядра могут содержать по 2 таких компонента.
Блоки для выполнения выборок данных осуществляют свой отбор данных из специальной кеш-памяти или ОЗУ, что необходимы для корректной реализации текущих инструкций.
Практически все процессорные ядра могут содержать несколько блоков с реализованной выборкой данных. Например, в таких процессорах как Intel Core будут использоваться только 2 блока с выборкой на каждое физическое ядро.
Управляющий блок на базисе декодированных инструкций управляет непосредственным функционированием блоков для реализации инструкций, также распределяет практически всю нагрузку для них, а при этом обеспечивает и своевременное, верное выполнение абсолютно всех инструкций.
Все это является одним из важнейших элементов ядра процессора.
Блоки выполнения инструкций могут в себя включать несколько самых разных компонентов:[2]
- ALU – арифметическое логическое устройство;
- FPU – устройство операций.
Блоки для выполнения процесса обработки расширений реализуются с помощью наборов разных инструкций.
Дополнительные операции могут использоваться для реализации работы с несколькими более быстрыми потоками данных, дешифрования, кодирования видео.
Для такой работы на каждое ядро процессоров могут вводить регистры, а также специальные совокупности логики. Популярными расширениями таких совокупностей инструкций являются следующие:[14]
– MMX – набор, что может быть разработан организацией Intel, для обработки аудио- и видеоинформации;
– SSE – набор инструкций, что разработанный компанией Intel, с помощью описания последовательности операций над некоторым множеством информации при его распараллеливании некоторым вычислительным процессом.
Все такие наборы команд усовершенствуются практически постоянно, и на определенный момент имеются самые разные ревизии [7].
– ATA – это набор программных инструкций, который был еще разработан компанией Intel, для реализации выполнения ускорения функционирования только специализированного ПО, снижения процесса энергопотребления в использовании программных продуктов. Эти инструкции используются при вычислении разных контрольных сумм, поиска требуемых данных;
– 3DNow – набор из программных инструкций, который был разработан фирмой AMD, как расширении MMX;
– AES – это набор программных инструкций, что разработан для программ Intel, для ускорения всех выполняемых приложений, использующих конфиденциальный тип шифрования данных.
Блок для реализации сохранения результатов дает все возможности записать результат при выполнению по инструкции в памяти при использовании адресов, указанных в инструкции.[1]
Блок работы с системными прерываниями – выполняет самую важнейших задач для центрального процессора, которая позволяет полностью. своевременно реагировать на разные события, реализовать прерывания хода работы выполнения программы, осуществлять все требуемые команды от него.
Также благодаря наличию прерываний, процессоры способны к выполнению параллельной многозадачности.
Обработка таких прерываний может в большинстве случаев выполняется указанным далее образом.
Процессоры для осуществления каждого из циклов в работе могут проверять самые наличие специального запроса.
Если наблюдается прерывание обработки, процессор должен сохранять адрес для инструкции в определенный стек, который ему необходимо выполнять, и данные, получены после выполнения самой последней инструкции, процессор переходит далее к реализации функций по обработке разного прерывания.[1]
После окончания реализации указанных функции обработки прерываний, с созданного стека будут считываться непосредственно сохраненные данные в него, а устройство микропроцессора возобновляет выполнение ранее уже поставленной задачи.[7]
Регистры процессора – это сверхбыстрая память очень небольшого объема, что входит непосредственно в их состав центрального микропроцессора, а при хранении некоторых промежуточных результатов с уже выполненных инструкциях (рисунок 9).
Практически все регистры процессора можно описать с помощью таких 2-х типов:
– регистры с общим назначением;
– специальные проблемно-ориентированные регистры.
Рисунок 9 – Классы регистров
Регистры для общего использования применяются при реализации разного рода арифметических, логических операций, выполнение специфических операций для самых разных дополнительных наборов и инструкций.
Регистры для такого специального назначения могут содержать также системные данные, что часто необходимы для работы указанного конкретного процессора.
Счетчик команд – является регистр, содержащий адрес всех команд, которые процессор начнет реализовать после следующего такта в работе (рисунок 10).[1]
Рисунок 10 – Регистр считчика команд
Во втором разделе рассматривались все основные понятия об устройстве центрального процессора, описаны все составные его части, структура, а также и некоторые характеристики.
3.СИСТЕМА КОМАНД ПРОЦЕССОРА
3.1.Поняние системы команд процессора
Система команд – набор допустимых для определенного процессора управляющих кодов, способов адресации данных. Системы команд жестко связаны с конкретным видом процессора, поскольку также определяется аппаратной структурой для блока дешифрации разных команд, и не обладает обычно переносимостью на иные типы процессоров (хотя часто имеет место совместимость типа “снизу-вверх” в рамках целой серии процессоров).[11]
Типовая структура для формата команды:
– КОП – код операци1 – это двоичный код, что однозначно указывает процессору на выполнение разных конкретных действий (пересылка, сложения и т.д.), и определяющий форму задания при этом адресов операндов;
– АЧ – адресная часть – это двоичное число, что может представлять собой адреса операндов, значение операндов, адрес следующей операции (адрес перехода).[13]
При обработке огромных массивов данных, выбираемых друг за другом последовательно, нет никакого смысла постоянно обращаться к памяти за новыми адресами.
Для этого также достаточно автоматически менять все содержимое для специального регистра, что называется индексным, чтобы выбрать последовательно размещенные данные.
Такой индексный регистр является также косвенным. Его загружают с начальным адресом массива (командой). Дальнейшая адресация может осуществляться путем автоматического добавления и вычитания единицы или этапа адреса с его содержимого (рисунок 11).
Рисунок 11 – Формирование адреса операндов при индексной адресации
В общем случае системы команд процессора включают в себя следующие 4 основные группы:[17]
– арифметические команды;
Команды для пересылки данных вовсе не требуют выполнения операций над операндами. Такие операнды просто пересылаются (копируются) из источника в приемник.
Источником и приемником часто могут быть разные внутренние регистры процессоров, ячейки памяти или же устройства ввода/вывода
В соответствии из результатами каждой выполненной команды будут устанавливаться или очищаться биты регистра состояния центрального процессора (PSW).
Но стоит помнить, что далеко не все команды могут изменять все имеющиеся флаги в PSW. Это также определяется особенностями для каждого конкретного процессора.
Для разных процессоров системы их команд существенно различаются, а в основе они очень похожи. Число команд у процессоров очень различно. Например, в процессоре МС68000 61 команда, а у классического процессора 8086 – аж 134 команды.
Для современных мощных процессоров число команд достигает и нескольких сотен. В это же время существуют разные процессоры с сокращенным перечнем команд (RISC-процессоры), в которых также за счет максимального сокращения числа команд достигается увеличение уровня эффективности и скорости выполнения.
3.2. Обзор категорий системы команд
Команды для пересылки данных занимают важное место в системе любого процессора. Они реализуют следующие важнейшие функции:
– загрузка содержимого в регистры процессора;
– сохранение содержимого в памяти внутренних регистров;
– копирование содержимого с одной области в другую;
– запись с помощью устройств ввода/вывода и чтения.
В некоторых процессорах все эти функции могут выполняться одной единственной операцией MOV но с разными методами адресации их операндов.
В иных процессорах помимо операции MOV имеется несколько команд для реализации перечисленных функций. К примеру, для загрузки регистров используются команды загрузки, причем также для разных регистров применяются разные команды (обозначения их обычно строятся с применением слова LOAD).