Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Процессор персонального компьютера. Назначение, функции, классификация процессора (НАЗНАЧЕНИЯ И ФУНКЦИИ ПРОЦЕССОРА)

Содержание:

ВВЕДЕНИЕ

Центральный процессор (CPU - Central Processing Unit ) - это транзисторная микросхема, являющаяся главным вычислительным и управляющим элементом компьютера. Иногда называют микропроцессором или просто процессором.

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

В 1971 году корпорация INTEL произвела первый микропроцессор, это был четырехразрядный процессор с индексом 4004, у которого было всего две тысячи транзисторов. Он не пользовался успехом из-за сильно ограниченного набора команд. Затем в 1974 году появился i8080, который выпускается до сих пор в различных устройствах, например в аппаратуре автоматического определения номера в домашнем телефоне. В 1978 году появился первый 16-разрядный процессор от Intel - i8086, который включал в себя уже 29 тыс. транзисторов и работал на частоте 4,77 МГц. Через год Intel разработал 8-разрядный процессор i8088, на основе которого был выпущен первый персональный компьютер от IBM.

В современных микропроцессорах находится свыше 100 млн. транзисторов при тактовой частоте свыше 1 ГГц.

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

1. НАЗНАЧЕНИЯ И ФУНКЦИИ ПРОЦЕССОРА.

Процессор (центральный процессор, центральное процессорное устройство) - это очень сложная микросхема, обрабатывающая машинный код, отвечающая за выполнение различных операций и управление компьютерной периферии. Для краткого обозначения центрально процессора принята аббревиатура — ЦП, а также очень распространено CPU - Central Processing Unit, что переводится как центральное обрабатывающее устройство. Именно в процессоре происходят основные вычисления, ради которых, собственно и придумывался компьютер.

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

Изначально термин «Центральное процессорное устройство» описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 1960-е годы.

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

Большинство современных процессоров состоит из:

- одного или нескольких ядер, осуществляющих выполнение всех инструкций;

- нескольких уровней КЭШ - памяти (обычно два или три уровня), ускоряющих взаимодействие процессора с ОЗУ;

- контроллера ОЗУ;

- контроллера системной шины;

Центральный процессор характеризуется следующими параметрами:

- типом микроархитектуры;

- тактовой частотой;

- набором выполняемых команд;

- количеством уровней КЭШ-памяти и их объемом;

- типом и скоростью системной шины;

-размером обрабатываемых слов;

- наличием или отсутствием встроенного контроллера памяти;

- типом поддерживаемой оперативной памяти;

- объемом адресуемой памяти;

- наличием или отсутствием встроенного графического ядра;

- энергопотреблением;

1.1 Ядро процессора назначение и функции.

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

- блока выборки инструкций;

- блоков декодирования инструкций;

- блоков выборки данных;

- управляющего блока;

- блоков выполнения инструкций;

- блоков сохранения результатов;

- блока работы с прерываниями;

- ПЗУ, содержащего микрокод;

- набора регистров;

- счетчика команд;

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

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

Блоки декодирования, это блоки, которые занимаются декодированием инструкций, то есть определяют, что надо сделать процессору, и какие дополнительные данные нужны для выполнения инструкции. Задача эта для большинства современных коммерческих процессоров, построенных на базе концепции CISC, - очень сложная. Дело в том, что блина инструкций и количество операндов - не фиксированные, и это сильно усложняет жизнь разработчикам процессоров и делает процесс декодирования нетривиальной задачей. Часто отдельны сложные команды приходится заменять микрокодом-серией простых инструкций, в совокупности выполняющих то же действие, что и одна сложная инструкция. Набор микрокода прошит в ПЗУ, встроенном в процессоре. К тому же микрокод упрощает разработку процессора, так как отпадает надобность в создании сложноустроенных блоков ядра и выполнения отдельных команд, да и исправить микрокод гораздо проще, чем устранить ошибку в функционировании блока. В современных процессорах, обычно, бывает 2-4 блока декодирования инструкций, например, в процессорах Intel Core 2 каждое ядро содержит по два таких блока.

Блоки выборки данных, осуществляют выборку данных из КЭШ-памяти или ОЗУ, необходимых для выполнения текущих инструкций. Обычно, каждое процессорное ядро содержит несколько блоков выборки данных. Например, в процессорах Intel Core используется по два блока выборки данных для каждого ядра.

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

Блоки выполнения инструкций включают в себя несколько разнотипных блоков:

ALU - арифметическое логическое устройство;

FPU - устройство по выполнению операций с плавающей точкой;

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

- MMX (Multumedia Extensions) - набор инструкций, разработанный компанией Intel, для ускорения кодирования и декодирования потоковых аудио и видео -данных.

- SSE (Streaming SIMD Extensions) - набор инструкций, разработанный компанией Intel, для выполнения одной и той же последовательности операций над множеством данных с распараллеливанием вычислительного процесса. Наборы команд постоянно совершенствуются, и на данный момент имеются ревизии: SSE, SSE2, SSE3, SSSE3, SSE4.

- ATA (Application Targeted Accelerator) - набор инструкций, разработанный компанией Intel, для ускорения работы специализированного программного обеспечения и снижения энергопотребления при работе с такими программами. Эти инструкции могут использоваться, например, при расчете контрольных сумм или поиска данных.

- 3DNow - набор инструкций, разработанный компанией AMD, для расширения возможностей набора инструкций MMX.

- AES (Advanced Encryption Standard) - набор инструкций, разработанный компанией Intel, для ускорения работы приложений, использующих шифрование данных по одноименному алгоритму.

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

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

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

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

Регистры - сверхбыстрая оперативная память (доступ к регистрам в несколько раз быстрее доступа к КЭШ-памяти) небольшого объема (несколько сотен байт), входящая в состав процессора, для временного хранения промежуточных результатов выполнения инструкций. Регистры процессора делятся на два типа: регистры быстрого назначения и специальные регистры.

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

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

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

Принцип работы процессора основан на цикле, описанном еще Джоном фон Нейманом в 1946 году. В упрощенном виде этапы цикла работы ядра процессора можно представить следующим образом :

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

2. Блок выборки инструкций из счетчика команд считывает адрес команды, предназначенной для выполнения. По этому адресу из КЭШ-памяти лили ОЗУ считывается команда. Полученные данные передаются в блок декодирования.

3. Блок декодировки команд расшифровывает команду, при необходимости используя для интерпретации команды записанный в ПЗУ микрокод. Если это команда перехода, то в счетчик команд записывается адрес перехода и управление передается в блок выборки инструкций (пункт 1). иначе счетчик команд увеличивается на размер команды (для процессора с длинной команды 32 бита - на 4) и передает управление в блок выборки данных.

4. Блок выборки данных считывает из КЭШ - памяти или ОЗУ требуемые для выполнения команды данные и передает управление планировщику.

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

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

7. При необходимости сохранения результатов в ОЗУ, блок сохранения результатов выполняет требуемые для этого действия и передает управление блоку выборки инструкций (пункт 1).

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

1.2 КЭШ память.

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

Поэтому один из важнейших параметров устройства процессора - это КЭШ - память, призванная сократить время выборки команд и данных из основной оперативной памяти и выполняющая роль промежуточного буфера с быстрым доступом между процессором и основной оперативной памятью. КЭШ - память строится на базе дорогой SRAM - памяти (static random access memory), обеспечивающей доступ к ячейкам памяти гораздо более быстрый , чем к ячейкам DRAM - памяти (dinamic random access memory), на базе которой построена оперативная память.  К тому же SRAM - память не требует постоянной регенерации, что так же увеличивает ее быстродействие. КЭШ - память делится на несколько уровней. В современных процессорах, обычно, бывает три условия, а в некоторых топовых моделях процессоров иногда встречается и четыре уровня КЭШ-памяти. КЭШ - память более высокого уровня всегда больше по размеру и медленнее КЭШ памяти более низкого уровня. Самая быстрая и самая маленькая КЭШ - память  - это КЭШ - память первого уровня. Она обычно работает на частоте процессора, имеет объем несколько сотен килобайт и располагается в непосредственной близости от блоков выборки данных и команд. При этом она может быть единой (Принстонская архитектура) или разделяться на две части (Гарвардская архитектура): на память команд и память данных. В большинстве современных процессоров используют разделенную КЭШ - память первого уровня, так как это позволяет одновременно с выборкой команд осуществлять выборку данных, что крайне важно для работы конвейера. КЭШ - память второго уровня более медленная (время доступа, в среднем, 8 - 20 тактов процессора), но зато имеет объем несколько мегабайт. КЭШ - память третьего уровня - еще медленнее, но имеет сравнительно большой объем. Встречаются процессоры с КЭШ - памятью третьего уровня больше 24 Мб. В многоядерных процессорах, обычно, последний уровень КЭШ - памяти делают общим для всех ядер. Причем в зависимости от нагрузки на ядра, может динамически изменяться отведенный ядру объем КЭШ - памяти последнего уровня. Если ядро имеет высокую нагрузку, то ему выделяется больше КЭШ - памяти, за счет уменьшения объема КЭШ-памяти для менее нагруженных ядер. Не все процессоры обладают такой возможностью, а только поддерживающие технологию Smart Cashe (например, Intel Smart Cashe или AMD Balanced Smart Cashe).

КЭШ - память более низкого уровня - обычно, индивидуальная для каждого ядра процессора.

Работа КЭШ - памяти состоит в следующем.

Процессор считывает из основной оперативной памяти данные и заносит их в КЭШ - память всех уровней, замещая данные, к которым давно и наиболее редко обращались. В следующий раз, когда процессору понадобятся эти же данные, они будут считаны уже неосновной оперативной памяти, а из КЭШ - памяти первого уровня, что значительно быстрее. Если к этим данным процессор долго не будет обращаться, то они будут постепенно вытеснены из всех уровней КЭШ - памяти вначале из первого, так как он самый маленький по объему, затем из второго и так далее. Но, даже если эти данные останутся только в третьем уровне КЭШ - памяти, все равно обращение к ним будет быстрее, чем к основной памяти. Однако чем больше уровней КЭШ - памяти, тем сложнее алгоритм замещения устаревших данных и тем больше времени тратится на согласования данных во всех уровнях КЭШ - памяти. В результате выигрыш от скорости работы КЭШ - памяти быстро сходит на нет. К тому же SRAM - память - очень дорогая, и при больших объемах, а как приводилось ранее, каждый новый уровень КЭШ - памяти должен быть больше предыдущего, быстро снижается показатель цена- качество, что крайне негативно сказывается на конкурентоспособности процессора. Поэтому на практике больше четырех уровней КЭШ - памяти не делают. Ситуация с КЭШ - памятью дополнительно усложняется в многоядерных процессорах, каждое ядро которых содержит свою КЭШ - память. Необходимо вводить дополнительную синхронизацию данных, хранящихся в КЭШ - памяти разных ядер. Например, один и тот же блок данных основной оперативной памяти был занесен в КЭШ - память первого и второго ядра процессора. Затем первый процессор изменил этот блок памяти. Получается, что в КЭШ - памяти второго процессора лежат уже устаревшие данные и необходимо их обновить, а это дополнительная нагрузка на КЭШ - память, что приводит к снижению общего быстродействия процессора. Эта ситуация тем сложнее, чем больше ядер в процессоре, чем больше уровней КЭШ - памяти и чем больше их объем. Но, несмотря на такие трудности в работе с КЭШ - памятью, ее применение дает явный прирост скорости работы без существенного увеличения стоимости ЭВМ. И пока не будет придумана оперативная память, которая сможет по скорости соперничать с SRAM - памятью, а по цене с DRAM - памятью, будет применяться иерархическая организация оперативной памяти с использованием нескольких уровней КЭШ - памяти.

1.3 Контроллеры ОЗУ.

Без контроллеров памяти (контроллеров ОЗУ) работа компьютера невозможна. Задача, которая стоит перед контроллерами памяти компьютера является очень важной для работы контроллера. Контроллер памяти – это чип, который расположен на материнской плате или на центральном процессоре. Главной функцией, которую выполняет этот крохотный чип, является управление потоками данных как входящих, так и исходящих. Второстепенной функцией контроллера памяти является увеличение потенциала и работоспособности системы, а также равномерное и правильное размещение информации в памяти, которое доступно благодаря новым разработкам в области новых технологий. Размещение контроллера памяти в компьютере зависит от определенных моделей материнских плат и центральных процессоров. В некоторых компьютерах дизайнеры поместили этот чип на северном параллельном присоединении материнской платы, в то время как в других компьютерах они размещены на центральном процессоре типа DIE. Те системы, которые рассчитаны на установку контроллера в материнской плате, имеют большое количество новых различных физических гнезд. Главная цель использования контроллера памяти в компьютере заключается в том, чтобы система могла считывать и записывать изменения в оперативной памяти, а также обновлять ее при каждой загрузке. Это происходит благодаря тому, что контроллер памяти посылает электрические заряды, которые, в свою очередь, являются сигналами для выполнения тех или иных действий. Контроллеры памяти бывают разных типов. Они различаются на:

- контроллеры памяти с двойной скоростью передачи данных (DDR);

- полностью буферизованные контроллеры памяти (FB);

- двуканальные контроллеры (DC);

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

1.4 Контроллер системной шины.

На данный момент существуют следующие интерфейсы связи процессора с северным мостом: FSB, DMI, HyperTransport, QPI.

FSB (Front site Bus) – системная шина, используемая для связи центрального процессора с северным мостом в 1990-х и 2000 годах. FSB разработана компанией Intel и впервые использовалась в компьютерах на базе процессоров Pentium. Частота работы шины FSB является одним из важнейших параметров работы ЭВМ и во многом определяет производительность всей системы. Обычно она – в несколько раз меньше частоты работы процессора. Частоты, на которых работают центральный процессор и системная шина, имеют общую опорную частоту и в упрощенном виде рассчитываются, как Vп = V0 * k, где Vп - частота работы процессора, V0 опорная частота, k – множитель. Обычно в современных системах опорная частота равняется частоте шины FSB. Большинство материнских плат позволяют вручную увеличивать частоту системной шины или множитель, изменяя настройки в BIOS. В старых материнских платах подобные настройки изменялись с помощью перестановки перемычек. Увеличение частоты системной шины или множителя увеличивает производительность ЭВМ. Однако в большинстве современных процессоров средней ценовой категории множитель заблокирован, и единственный способ поднять производительность вычислительной системы – это увеличить частоту системной шины. Частота системной шины FSB постепенно возрастала с 50 МГц, для процессоров класса Intel Pentium и AMD K5 в начале 1990 годов, до 400 МГц, для процессоров класса Xeon и Core 2 в конце 2000-х. При этом пропускная способность возрастала с 400 Мбит/с до 12800 Мбит/с. Шина FSB использовалась в процессорах типа Атом, Celeron, Pentium, Core 2 и Xeon вплоть до 2008 года. На данный момент эта шина вытеснена системными шинами DMI, QPI и HyperTransport.

HyperTransport – универсальная высокоскоростная шина типа точка-точка с низкой латентностью, используемая для связи процессора с северным мостом. Шина HyperTransport – двунаправленная, то есть для обмена в каждую сторону выделена своя линия связи. К тому же она работает по технологии DDR (Double Data Rate), передавая данные как по фронту, так и по спаду тактового импульса. Технология разработана консорциумом HyperTransport Technology во главе с компанией AMD. Стоит отметить, что стандарт HyperTransport – открытый, что позволяет использовать его в своих устройствах различным компаниям. Первая версия HyperTransport была представлена в 2001 году, и позволяла производить обмен со скоростью 800 МТр/с (800 Мега Транзакций в секунду или 838860800 обменов в секунду), с максимальной пропускной способностью – 12.8 Гбайт/с. Но уже в 2004 году была выпущена новая модификация шины HyperTransport (v.2.0), обеспечивающая 1.4 ГТр/с с максимальной пропускной способностью 22.4 Гбайт/с, что почти в 14 раз превышало возможности шины FSB. 18 августа 2008 года была выпущена модификация 3.1, работающая со скоростью 3.2 ГТр/с, пропускной способностью – 51.6 Гбайт/с. На данный момент - это самая быстрая версия шины HyperTransport. Технология HyperTransport – очень гибкая, и позволяет варьировать как частоты шины, так и ее разрядность. Это позволяет использовать ее не только для связи процессора с северным мостом и ОЗУ, но и в медленных устройствах. При этом возможность уменьшения разрядности и частоты ведет к экономии энергии. Минимальная тактовая частота шины – 200 МГц, при этом данные будут передаваться со скоростью – 400 МТр/с, из-за технологии DDR, а минимальная разрядность – 2 бита. При минимальных параметрах максимальная пропускная способность составит 100Мбайт/с. Все следующие поддерживаемые частоты и разрядности – кратны минимальной тактовой частоте и разрядности вплоть до скорости 3.2 ГТр/с, и разрядности – 32 бита, для ревизии HyperTransport v.3.1.

DMI (Direct Media Interface) – последовательная шина типа точка-точка, используемая для связи процессора с чипсетом и для связи южного моста чипсета с северным. Разработана компанией Intel в 2004 году. Для связи процессора с чипсетом обычно используется 4 канала DMI, обеспечивающих максимальную пропускную способность до 10 Гбайт/с, для ревизии DMI 1.0, и 20 Гбайт/с, для ревизии DMI 2.0, представленной в 2011 году. В бюджетных мобильных системах может использоваться шина с двумя каналами DMI, что в два раза снижает пропускную способность по сравнению с 4-х канальным вариантом. Часто процессоры, использующие связь с чипсетом по шине DMI, встраивают, наряду с контроллером памяти, контроллер шины PCI Express, обеспечивающий взаимодействие с видеокартой. В этом случае надобность в северном мосте отпадает, и чипсет выполняет только функции взаимодействия с платами расширения и периферийными устройствами. При такой архитектуре материнской платы не требуется высокоскоростного канала для взаимодействия с процессором, и пропускной способности шины DMI хватает с избытком.

QPI (QuickPathInterconnect) – последовательная шина типа точка–точка, используемая для связи процессоров между собой и с чипсетом. Представлена компанией Intel в 2008 году и используется в HiEnd процессорах типа Xeon, Itanium и Corei7. Шина QPI - двунаправленная, то есть для обмена в каждую сторону предусмотрен свой канал, каждый из которых состоит из 20 линий связи. Следовательно, каждый канал – 20-разрядный, из которых на полезную нагрузку приходится только 16 разрядов. Работает шина QPI со скоростью – 4.8 и 6.4 ГТр/с, при этом максимальная пропускная способность составляет 19,2 и 25,6 Гбайт/с соответственно.

2. КЛАССИФИКАЦИЯ МИКРОПРОЦЕССОРОВ.

По числу больших интегральных схем (БИС) в микропроцессорном комплекте различают микропроцессоры однокристальные, многокристальные и многокристальные секционные. Процессоры даже самых простых ЭВМ имеют сложную функциональную структуру, содержат большое количество электронных элементов и множество разветвленных связей. Изменять структуру процессора необходимо так, чтобы полная принципиальная схема или ее части мели количество элементов и связей, совместимое с возможностями БИС. При этом микропроцессоры приобретают внутреннюю магистральную архитектуру, то есть в них к единой внутренней информационной магистрали подключается все основные функциональные блоки (арифметико-логический, рабочих регистров, стека, прерываний, интерфейса, управления и синхронизации и др.). Для обоснования классификации микропроцессоров по числу БИС надо распределить все аппаратные блоки процессора между основными тремя функциональными частями: операционной, управляющей и интерфейсной. Сложность операционной и управляющей частей процессора определяется их разрядностью, системой команд и требованиями к системе прерываний. Сложность интерфейсной части определяется разрядностью и возможностями подключения других устройств ЭВМ (памяти, внешних устройств, датчиков и исполнительных механизмов и др.) Интерфейс процессора содержит несколько десятков информационных шин данных (ШД), адресов (ША) и управления (ШУ). Однокристальные микропроцессоры получаются при реализации всех аппаратных средств процессора в виде одной БИС или СБИС (сверхбольшой интегральной схемы). По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Однако возможности однокристальных микропроцессоров ограничены аппаратными ресурсами кристалла и корпуса. Для получения многокристального микропроцессора необходимо провести разбиение его логической структуры на функционально законченные части и реализовать их в виде БИС (СБИС). Функциональная законченность БИС многокристального микропроцессора означает, что его части выполняют заранее определенные функции и могут работать автономно. Трехкристальный микропроцессор содержит в себе БИС операционного (ОП), БИС управляющего (УП) и БИС интерфейсного (ИП) процессоров. Операционный процессор служит для обработки данных, управляющий процессор выполняет функции выборки, декодирования и вычисления адресов операндов и также генерирует последовательности микрокоманд. Автономность работы и большое быстродействие БИС УП позволяет выбирать команды из памяти с большей скоростью, чем скорость их исполнения БИС ОП. При этом в УП образуется очередь еще не исполненных команд, а также заранее подготавливаются те данные, которые потребуются ОП в следующих циклах работы. Такая опережающая выборка команд экономит время ОП на ожидание операндов, необходимых для выполнения команд программ. Интерфейсный процессор позволяет подключить память и периферийные средства к микропроцессору. Он, по существу, является сложным контроллером для устройств ввода/вывода информации. БИС ИП выполняет также функции канала прямого доступа к памяти. Выбираемые из памяти команды распознаются и выполняются каждой частью микропроцессора автономно, и поэтому может быть обеспечен режим одновременной работы всех БИС МП, т. е. конвейерный поточный режим исполнения последовательности команд программы (выполнение последовательности с небольшим временным сдвигом). Такой режим работы значительно повышает производительность микропроцессора. Многокристальные секционные микропроцессоры получаются в том случае, когда в виде БИС реализуются части (секции) логической структуры процессора при функциональном разбиении ее вертикальными плоскостями. Для построения многоразрядных микропроцессоров при параллельном включении секций БИС в них добавляются средства “стыковки”.

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

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

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

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

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

Синхронные микропроцессоры - микропроцессоры, в которых начало и конец выполнения операций задаются устройством управления (время выполнения операций в этом случае не зависит от вида выполняемых команд и величин операндов).

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

По организации структуры микропроцессорных систем разливают микроЭВМ одномагистральные и многомагистральные.

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

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

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

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

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

Так же различают микропроцессору по типу параллелизма операндов: скалярные МП, векторные МП и МП с набором типа SIMD. В скалярных микропроцессорах операнды инструкций являются скалярами, один операнд - одно число. В векторных микропроцессорах операндом является вектор, то есть набор чисел. Как правило, это математические микропроцессоры, предназначенные для векторных и матричных операций. МП с набором инструкций типа SIMD (Single Instruction Multiple Data: одна инструкция - много данных) можно было бы отнести к векторным МП, но в инструкциях типа SIMD операнды представляют наборы чисел жестко фиксированного размера, которые размещаются в специальных регистрах, а в векторных МП, размер векторных операндов может быть различным. В настоящее время практически все фирмы - изготовители универсальных МП, имеют в своих изделиях SIMD технологии, это:MMX(Intel), AltiVec(PoverPC), MDMX (MIPS), MAX-2(HP), VIS (SPARC), MVI(Alpha) и др. Причем часто такие технологии называют SWAR (SIMD Within a Register - SIMD внури регистра). Их присутствие обусловлено реализацией таких приложений, как:

- упаковка/распаковка звука, видео и изображений;

- протоколы передачи данных;

- шифрование;

- построение реалистических изображений в реальном времени;

- распознавание речи и образов;

- нейронные сети;

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

По объему набора инструкций микропроцессоры делятся на классические процессоры CISC, на процессоры RISC с сокращенным набором команд, на процессоры MISC с минимальным набором команд, на процессоры VLIW с набором сверхдлинных команд.

CISC (Comlpex instruction set computer) - это процессоры со сложным набором команд . Архитектура CISC характеризуется:

- сложными и многоплановыми инструкциями;

- большим набором различных инструкций;

- не фиксированной длиной инструкций;

- многообразием режимов адресации.

Исторически процессоры с архитектурой CISC появились первыми, и их появление было обусловлено общей тенденцией разработки первых ЭВМ. ЭВМ стремились сделать более функциональными и в то же время простыми для программирования. Естественно, для программистов вначале было удобнее иметь широкий набор команд, чем реализовывать каждую функцию целой отдельной подпрограммой. В результате объем программ сильно сокращался, а вместе с ним и трудоемкость программирования. С появлением языков высокого уровня отпала необходимость непосредственного программирования в машинных кодах и на ассамблере, и, во-вторых, со временем количество различных команд сильно выросло, а сами инструкции усложнились. В результате большинство программистов, в основном использовали какой-то определенный набор инструкций практически игнорируя наиболее сложные инструкции. В результате программисты уже не имели особой выгоды от широкого набора инструкций, так как компиляция программ стала автоматической, а сами процессоры обрабатывали сложные и разнообразные инструкции медленно, в основном из-за проблем с их декодированием. К тому же новые сложные инструкции разработчики процессоров отлаживали меньше, так как это был трудоемкий и сложный процесс. В результате некоторые из них могли содержать ошибки. Ну и, естественно, чем сложнее инструкции, чем больше действий они выполняют. тем сложнее их выполнение распараллелировать, и, соответственно, тем менее эффективно они загружают конвейер процессора. Однако к этому моменту уже было разработано огромное количество программ для процессоров с CISC архитектурой, поэтому экономически было невыгодно переходить на принципиально новую архитектуру, даже дающую выигрыш в производительности процессора. Поэтому был принят компромисс, и CISC процессоры, начиная с Intel486DX, стали производить с использованием RISC - ядра. Т.Е., непосредственно перед использованием, сложные CISC - инструкции преобразуют в более простой набор внутренних инструкций RISC. Для этого используют записанные в размещенном внутри ядра процессора ПЗУ наборы микрокоманд - серии простых инструкций, в совокупности выполняющих те ж действия, что и одна сложная инструкция.

RISC (Reduced Instruction SEt Computer) - процессоры с сокращенным набором инструкций. В концепции RISC - процессоров предпочтение отдается коротким, простым и стандартизированным инструкциям. В результате такие инструкции проще декодировать и выполнять, а, следовательно, устройство процессора становится так же проще, так как не требуется сложных блоков для выполнения нестандартных и многофункциональных инструкций. В результате процессор становится дешевле, и появляется возможность дополнительно поднять его тактовую частоту, за счет упрощения внутренней структуры и уменьшения количества транзисторов, или снизить энергопотребление. Так же простые RISC - инструкции гораздо проще распараллеливать, чем CISC - инструкции, а следовательно, появляется возможность больше загрузить конвейер, ввести дополнительные блоки обработки инструкций и т.д.

Процессоры, построенные по архитектуре RISC, обладают следующими особенностями:

- фиксированная длина инструкций;

- небольшой набор стандартизированных инструкций;

- большое количество регистров общего назначения;

- отсутствие микрокода;

- меньшее энергопотребление, по сравнению с CISC - процессорами аналогичной производительности;

- более простое внутреннее устройство;

- меньшее количество транзисторов, по сравнению с CISC - процессорами аналогичной производительности;

- отсутствие сложных специализированных блоков в ядре процессора.

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

MISC (Minimal Instruction Set Computer) - дальнейшее развитие архитектуры RISC, основанное на еще большем упрощении инструкций и уменьшении их количества. Так, в среднем, в MISC - процессорах используется 20-30 простых инструкций. Такой подход позволил еще больше упростить устройство процессора, снизить энергопотребление и максимально использовать возможности параллельной обработки данных.

VLIW (Very long instruction word)  - архитектура процессоров, использующая инструкции большой длинны, содержащие сразу несколько операций, объединенных компилятором для параллельной обработки. В некоторых реализациях процессоров длина инструкций может достигать 128 или даже 156 бит. Архитектура VLIW является дальнейшим усовершенствованием архитектуры RISC и MISC с углубленным параллелизмом. Если в процессорах RISC организацией параллельной обработки данных занимался сам процессор, при этом, затрачивая часть ресурсов на анализ инструкций, выявление зависимостей и предсказание условных переходов ( причем зачастую процессор мог ошибаться, например, в предсказании условных переходов, тем самым внося серьезные задержи в обработку инструкций, или просматривать код программы на недостаточную глубину для выявления независимых операций, которые могли бы выполняться параллельно), то в VLIW - процессорах задача оптимизации параллельной работы возлагалась на компилятор, который не был ограничен ни во времени, ни в ресурсах и мог проанализировать всю программу для составления оптимального для работы процессора кода. В результате процессор VLIW выигрывал не только от упразднения накладных расходов на организации параллельной обработки данных, но и получал прирост производительности, из-за более оптимальной организации параллельного выполнения инструкций. Кроме этого, упрощалась конструкция процессора, так как упрощались или вовсе упразднялись некоторые блоки, отвечающие за анализ зависимостей и организацию распараллеливания обработки инструкций, а это, в свою очередь, вело к снижению энергопотребления и себестоимости процессоров. Однако даже компилятору тяжело справятся с анализом кода и организацией его распараллеливания. Часто код программы был сильно взаимозависимый, и в результате в инструкции компилятору приходилось вставлять пустые команды. Из-за этого программы для VLIW - процессоров могли быть гораздо длиннее, чем аналогичные программы для традиционных архитектур.

ЗАКЛЮЧЕНИЕ.

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

Современный микропроцессор состоит:

- из нескольких ядер, в которых производятся основные вычисления;

- нескольких уровней КЭШ - памяти (до 4ех), благодаря которым повышается скорость взаимодействия микропроцессора с ОЗУ;

- контроллера ОЗУ, управляющего исходящими и входящими потоками данных;

- контроллера системной шины, частота которого определяет производительность всей системы;

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.

  1. Довгий.П.С., Поляков В.И. - прикладная архитектура базовой модели процессора Intel - 2012.
  2. Ершова Н.Ю., Ивашенков О.Н., Курсков С.Ю. Микропроцессоры.
  3. Барри Брэй Микропроцессоры Intel.
  4. Скотт Мюллер. Модернизация и ремонт ПК.
  5. Акчурин Э.А. Машинно - зависимые языки программирования.
  6. Эндрю Таненбаум, Тодд Остин Архитектура компьютера.
  7. Магда Ю.С. Ассамблер для процессоров Intel Pentium.
  8. К.Ирвин. Язык ассамблера для процессов Intel.
  9. Калачев А. Многоядерные процессоры.
  10. Гуров В. Архитектура микропроцессоров.
  11. Бильдюкевич Е.В. ЭВМ и микропроцессор.
  12. А.Н. Морозевич, А.Н. Дмитриев, В.Н. Мухаметов, В.В. Панькова, А.П. Пашкевич, В.Н. Путков, Г.В. Таранов. МикроЭВМ, микропроцессоры и основы программирования.