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

Процессор персонального компьютера. Назначение, функции, классификация процессора (Понятие и назначение процессора))

Содержание:

Введение

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

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

Объектом работы является процессор персонального компьютера.

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

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

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

– Проанализировать назначение и основные характеристики процессора;

– Исследовать функции процессора;

– Исследовать классификации процессоров;

– Исследовать современные модели процессоров.

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

1. Понятие и назначение процессора

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

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

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

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

Впервые термин процессор (от англ. «to process» — «обрабатывать») стал использоваться в литературе посвященной вычислительной технике с 60-х годов прошлого века и в основном использовался применительно к семейству вычислительных машин IBM/360. Процессоры этих ЭВМ получили обозначение CISC (Complex Instruction Set Computer) — компьютер со сложным (полным) набором команд (инструкций). Таким образом, можно считать, что основоположником данной архитектуры является компания IBM.

Д. фон Нейман придумал схему постройки компьютера в 1946 году [6]. Важнейшие этапы этого процесса следующие.

1. Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения;

2. Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности;

3. Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её;

4. Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды;

5. Снова выполняется п. 1.

Данный цикл выполняется неизменно, и именно он называется процессом (откуда и произошло название устройства) [4].

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

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

2. Функции процессора

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

Основные функции центрального процессора:

– выборка (чтение) команд из памяти;

– прием (чтение) данных из оперативной памяти или устройства ввода/вывода;

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

– передача (запись) обработанных данных в память или в устройства ввода/вывода;

– формирование адреса команд, то есть задание адреса памяти, с которым будет производиться обмен;

– обработка прерываний и режима прямого доступа.

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

3. Основные характеристики процессоров

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

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

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

Тактовая частота современных процессоров, в основном, составляет 1,0-4ГГц. Она определяется умножением внешней или базовой частоты, на определённый коэффициент. Например, процессор Intel Core i7 920 использует частоту шины 133 МГц и множитель 20, в результате чего тактовая частота равна 2660 МГц. [12]

Частоту процессора можно увеличить в домашних условиях, с помощью разгона процессора. Существуют специальные модели процессоров от AMD и Intel, которые ориентированы на разгон самим производителем, к примеру, Black Edition у AMD и линейки К-серии у Intel.

Достаточно продолжительное время все старания разработчиков были направлены именно на повышение тактовой частоты, но с покорением новых вершин показателей частоты, наращивать её стало тяжелее, так как это сказывалось на увеличении TDP процессоров. Поэтому разработчики стали растить процессоры в ширину, а именно добавлять ядра, так возникло понятие многоядерности [1].

Такой характеристике процессоров как многоядерность ещё несколько лет назад не уделяли слишком много внимания, сейчас же она является одной из важнейших характеристик. Появление первого двухъядерного процессора именно для персональных компьютеров, состоялось только в 2005 году, хотя многоядерные процессоры от той же компании IBM существовали и ранее. Данный процессор назывался Pentium D. Также, в 2005 году был выпущен двухъядерный процессор Opteron от AMD, но для серверных систем [5].

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

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

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

Рассмотрим, что же будет в двух разных случаях:

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

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

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

Еще одна характеристика процессора – это технологический процесс.

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

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

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

Размерность технологического процесса измеряется в нанометрах. Новые процессоры Intel выполнены по технологическому процессу 22 нм. Нанометр (нм) - это 10 в -9 степени метра, что является одной миллиардной частью метра. Чтобы лучше представить насколько это миниатюрные транзисторы, можно привести один интересный научный факт: « На площади среза человеческого волоса, с помощью усилий современной техники, можно разместить 2000 транзисторных затворов». [9]

Если брать во внимание современные процессоры, то количество транзисторов, там уже давно переходит за 1 млрд. [9]

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

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

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

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

Разрядность процессора представляет собой предельное количество разрядов двоичного числа, над которым единовременно может производиться машинная операция передачи информации. Чем больше разрядность, тем выше производительность процессора. Сейчас большинство процессоров имеют разрядность в 64 бита и поддерживают от 4 гигабайт ОЗУ.

Рабочая температура процессора – наивысший показатель температуры поверхности процессора, при котором возможна нормальная работа (54-100 °С). Этот показатель зависит от нагрузки на процессор и от качества отвода тепла. При превышении предела компьютер либо перезагрузится, либо просто отключится. Это очень важная характеристика процессора, которая напрямую влияет на выбор типа охлаждения.

Тепловыделение TDP (Thermal Design Power) – параметр, указывающий на то количество тепла, которое способна отвести охлаждающая система от определенного процессора при наибольшей нагрузке. Значение представлено в ваттах при максимальной температуре корпуса процессора.

Энергопотребление ACP (Average CPU Power) – средняя мощность процессора, показывающая потребление энергии процессором при конкретных задачах. Чем выше энергопотребление процессора, тем выше его тепловыделение.

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

4. Классификации процессоров

Существуют следующие классификации процессоров.

1) По числу больших интегральных схем (БИС): универсальные, однокристальные, секционированные.

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

Универсальные процессоры делятся на CISC - и RISC - микропроцессоры. CISC - микропроцессоры (Completed Instruction Set Computing - вычисления с полной системой команд) обладают всем классическим набором команд с широко развитыми режимами адресации операндов. Это, например, Pentium. RISC‑микропроцессоры (reduced instruction set computing - вычисления с сокращенной системой команд) используют урезанное количество команд и режимов адресации. Это, например, Alpha 21x64 и Power PC. [4]

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

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

2) По назначению бывают универсальные и специализированные процессоры.

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

Специализированный процессор - это процессор, предназначенный для решения специализированных, узконаправленных задач. Среди таких процессоров можно выделить различные микроконтроллеры, направленные на выполнение сложных последовательностей логических операций.  С помощью специализированных процессоров можно эффективно решать задачи параллельной обработки данных (Intel Xeon Phi - 1,2 трлн. опе­ра­ций/с); об­ра­бот­ку и ото­бра­же­не сцен ком­пь­ю­тер­ной гра­фи­ки (например, NVidia GeForce GTX780 Ti, 2880 ядер, до 5 трлн. опе­ра­ций/с, час­то­та яд­ра 876 МГц); об­ра­бот­ку ал­го­рит­мов шиф­рова­ния и ау­тен­ти­фи­ка­ции. [3]

3) По виду обрабатываемых входных сигналов процессоры делят на цифровые и аналоговые процессоры.

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

Цифровой процессор (процессор цифровой обработки сигналов, сигнальный процессор, Digital Signal Processor) – это микропроцессор, особенностью работы которого является поточный характер обработки больших объемов данных в реальном масштабе времени и, как правило, с интенсивным обменом данных с внешними устройствами. Такие процессоры применяются в самых различных областях, так, как они способны обеспечивать работу в реальном масштабе времени.

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

4) По характеру временной организации работы – синхронные и асинхронные.

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

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

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

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

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

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

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

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

5. Современные модели процессоров

В настоящее время наиболее уникальным процессором является Pentium 4, т. к. с одной стороны он является последним 32-х разрядным процессором семейства x86 от Intel, а, с другой стороны, его модификации P4 Prescott и Cedar Mill стали первыми, выпущенными Intel, процессорами, являющимися 64-х разрядным расширением семейства x86. Производительность P4 была увеличена за счет повышения частоты, поэтому CPU получил двадцати ступенчатый конвейер (в последних модификациях число ступеней было увеличено до 31). Подобную архитектуру в Intel назвали гиперконвейеризированной. Следует отметить, что длинный конвейер обеспечивает высокую производительность в случае соблюдения регулярности поступления на него команд, в противном же случае длина конвейера становится замедляющим фактором в работе процессора. Первоначально этот фактор и стал причиной того, что первый Pentium 4 уступал в производительности не только процессору Athlon, но и Pentium III Tualatin. Это привело к тому, что Tualatin был выведен в сегмент серверных процессоров, чтобы не конкурировать с P4, а сам P4 был доработан.

Архитектура Pentium 4, называемая NetBurst, в корне отличается от архитектуры поколения Р6, т. е. от Pentium Pro, Pentium II и Pentium III. Pentium 4 состоит из четырех основных блоков, рисунок 1 [11]: подсистемы памяти, блока предвари-тельной обработки, блока контроля исполнения с изменением последовательности и блока исполнения [11].

Рисунок 1. Микроархитектура Pentium 4

В состав подсистемы памяти входит объединенный кэш L2, а также логика доступа к внешнему ОЗУ по шине памяти. L2 оперирует 128-байтным строками. В случае кэш-промаха для выборки нужных блоков организуются две 64-байтных передачи в основную память. Кэш L2 относится к кэшу с отложенной записью, т. е. новые данные в измененной строке записываются обратно в память лишь после сброса. С кэшем связан, не изображенный на рисунке блок предварительной выборки, который копирует данные из основной памяти в L2 еще до того, как эти данные запрошены. Блок предварительной обработки, выбирает команды из L2 и декодирует их в порядке выполнения команд программы. Каждая команда разбивается на последовательность RISC-подобных микроопераций. Для упрощения команд блок выборки/декодирования определяет, какие микрооперации необходимы для решения внутренних задач. В более сложных случаях производится поиск последовательности микроопераций в памяти микрокоманд. После декодирования микрооперации отправляются в кэш трасс (trace cache), которым фактически является кэш команд L1. Заметим, что кэшируются декодированные микрооперации, а не исходные команды как в P6. Здесь же выполняется прогнозирование ветвлений (переходов). Команды передаются из кэша трасс планировщику команд в порядке, определяемом программой, но при их выполнении возможно отступление от установленного порядка. Если встречается микрооперация, которую нельзя выполнить, планировщик команд удерживает ее, продолжая обрабатывать поток команд — запускаются все последующие команды, которые не предусматривают обращение к занятым ресурсам (регистрам, функциональным блокам и т. д.). Здесь же выполняется подмена регистров, в силу чего взаимозависимые команды могут выполняться без задержки. Отметим, что очередность запуска команд может не соответствовать предусмотренной в программе, но с другой стороны, команды должны возвращать результаты без отступления от заданной программой последовательности. За реализацию этого отвечает блок пересортировки. Блок исполнения, объединяет специализированные блоки исполнения, которые непосредственно осуществляют целочисленные операции, операции с плавающей точкой и специализированные команды. Существует несколько блоков исполнения, работающих параллельно. Данные они получают из регистрового файла и кэша данных L1. На рисунке 2 приводится более подробная схема NetBurst, включающая конвейер.

Рисунок 2. Схема тракта данных Pentium 4

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

Если для выполнения команды Pentium требуется более четырех микроопераций, она не декодируется и не помещается в кэш трасс. Вместо этого она снабжается специальным маркером, заставляющим систему провести поиск микроопераций в памяти микрокоманд. Таким образом, логика исполнения с изменением последовательности получает микрооперации путем извлечения из кэша трасс ранее декодированных команд или оперативного поиска сложных команд (например, команды смещения строки) в памяти микрокоманд. В случае команды безусловного перехода, блок декодирования ищет предсказанный объект перехода в буфере объектов перехода (Branch Target Buffer, ВТВ) первого уровня и продолжает декодирование с соответствующего адреса. В кэше буфера объектов перехода первого уровня сохраняются 4000 последних переходов. Если необходимая команда перехода отсутствует в таблице, применяется статическое прогнозирование. При этом подразумевается, что обратный переход является частью цикла и не занят. Точность статического прогноза в случае обратного перехода очень высока.

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

Для прогнозирования микроопераций перехода применяется буфер трасс объектов перехода, или ВТВ трасс. Далее логика исполнения с изменением последовательности получает данные из кэша трасс емкостью 12000 микроопераций. При поступлении из блока предварительной обработки каждой последующей микрооперации (а за цикл их поступает три) блок распределения и подмены регистрирует ее в таблице, состоящей из 128 записей и называемой буфером переупорядочивания команд (ReOrder Buffer, ROB). В этом буфере хранятся данные о состоянии микрооперации, вплоть до пересортировки ее результатов. Затем блок распределения и подмены проводит проверку на предмет доступности ресурсов, нужных для выполнения микрооперации. Если ресурсы свободны, микрооперация устанавливается в одну из очередей на выполнение. Для микроопераций, исполняемых в памяти и вне памяти, предусмотрены отдельные очереди. Если выполнение микрооперации в данный момент невозможно, она откладывается, однако обработка последующих микроопераций продолжается, т. е. микрооперации часто выполняются вне их исходной последовательности. Этот принцип позволяет поддерживать за-грузку всех функциональных блоков на максимально высоком уровне. В каждый отдельно взятый момент могут одновременно обрабатываться до 126 команд, причем 48 из них могут загружаться из памяти, а 24 — сохраняться в памяти [7]. Иногда микрооперации простаивают. Это происходит, если к одному и тому же регистру для чтения или записи пытаются обратиться несколько микроопераций, и одной из них это удается, а остальным нет. Подмена целевого регистра позволяет записать результаты выполнения микрооперации в один из 120 временных регистров, а значит, выполнить эту микрооперацию немедленно. Если же все временные регистры недоступны или микрооперация попадает в ситуацию взаимозависимости (обойти которую нельзя), планировщик указывает характер возникшей проблемы в виде записи в буфере ROB. Далее после освобождения всех необходимых ресурсов, микрооперация устанавливается в одну из очередей на выполнение. Блок распределения и подмены помещает готовые к выполнению операции в одну из двух очередей. Четыре планировщика ответственны за извлечение микрокоманд из очередей. Каждый планировщик регламентирует обращения к тем или иным ресурсам:

• Планировщик 1 — АЛУ 1 и блок смещения операций с плавающей точкой.

• Планировщик 2 — АЛУ 2 и блок исполнения операций с плавающей точкой.

• Планировщик 3 - команды загрузки.

• Планировщик 4 — команды сохранения.

Планировщики и АЛУ работают на скорости, вдвое превышающей номинальную тактовую частоту, первые два планировщика могут передавать по две микрооперации за цикл. Команды загрузки и сохранения проходят через один блок исполнения, работающий на удвоенной частоте, который в течение одного цикла может вызывать по одной команде обоих типов. Таким образом, в лучшем случае (при отсутствии операций с плавающей точкой) за цикл может быть вызвано 6 целочисленных микроопераций. Два целочисленных АЛУ отличаются друг от друга. АЛУ 1 выполняет любые арифметические и логические операции и переходы. АЛУ 2 способно выполнять только команды сложения, вычитания, сдвига и циклического сдвига. Не идентичны и два блока исполнения операций с плавающей точкой. Первый из них выполняет только сдвиги и SSE-команды. Второй поддерживает арифметические операции с плавающей точкой, а также ММХ- и SSE-команды [7].

АЛУ и блоки исполнения операций с плавающей точкой получают данные от двух регистровых файлов емкостью по 128 записей. Один из этих файлов отводится для целых чисел, другой — для чисел с плавающей точкой. В них содержатся все операнды, необходимые для исполнения команд, а кроме того, они играют роль хранилища результатов. В силу подмены регистров восемь из них содержат регистры, доступные на уровне архитектуры команд (ЕАХ, ЕВХ, ЕСХ, EDX и т. д.). Кэш данных L1 является одним из компонентов высокоскоростной схемы. При емкости 8 Кбайт в нем хранятся целые числа, числа с плавающей точкой и другие типы данных. В отличие от кэша трасс, эти данные не декодируются. Функция кэша данных сводится к хранению копий байтов, находящихся в памяти. Кэш данных L1 имеет строки емкостью 64 байт. Он поддерживает сквозную запись, т. е. при изменении строки кэша она незамедлительно копируется обратно в кэш второго уровня. В течение цикла кэш данных первого уровня обрабатывает по одной операции чтения и записи. Если затребованное слово не удается обнаружить в кэше первого уровня, отправляется запрос в кэш второго уровня; последний в такой ситуации может ответить либо сразу, либо после выборки соответствующей строки из памяти. В любой момент в состоянии исполнения могут находиться до четырех запросов, направленных из кэша первого уровня в кэш второго уровня. Так как микрооперации часто выполняются вне исходной последовательности, сохранение в кэше первого уровня возможно только после пересортировки результатов всех команд, предшествующих команде сохранения. Такую пересортировку результатов с их трассировкой (отслеживанием того, где они находятся) выполняет блок пересортировки. В случае прерывания прекращается обработка всех команд, еще не прошедших пересортировку результатов. Таким образом, обеспечивается соблюдение требования, согласно которому при прерывании должны быть завершены все команды до определенной точки в программе. Если команда со-хранения прошла пересортировку результатов, но предшествующие команды еще обрабатываются, из-за невозможности обновления кэша первого уровня результаты их выполнения передаются в буфер незавершенных команд. В этом буфере можно единовременно разместить до 24 команд сохранения. Если одна из последующих команд загрузки попытается считать сохраненные данные, она из буфера незавершенных команд будет перенаправлена непосредственно к команде, которая в этот момент еще не помещена в кэш данных первого уровня. Этот процесс называется перенаправлением для загрузки (store-to-load forwarding). Таким образом, хотя микрооперации выполняются с процессором с отклонением от исходной последовательности, но возвращаются и сохраняются в кэш-памяти первого и второго уровней в заданном порядке.

Заключение

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

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

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

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

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

Список использованной литературы

  1. Архитектура ЭВМ и вычислительных систем: Учебник / Н.В. Максимов, Т.Л. Партыка, И.И. Попов. - 5-e изд., перераб. и доп. - М.: Форум: НИЦ ИНФРА-М, 2015 - 512 с.
  2. Вычислительные машины, сети и телекоммуникационные системы: Учебно-методический комплекс. – М.: Изд. центр ЕАОИ. 2009. – 292 с.
  3. Гуров. В.В. Микропроцессорные системы: Учебник – М.: НИЦ ИНФРА-М, 2017. - 336 с.
  4. Догадин Н.Б. Архитектура компьютера / 3-е изд., – М.:БИНОМ. ЛЗ, 2015. - 274 с.
  5. Информатика : учеб. пособие / под ред. Б.Е. Одинцова, А.Н. Романова. — 2-е изд., перераб. и доп. — Москва : Вузовский учебник ; ИНФРА-М, 2012. - 410 с.
  6. Информатика: Учебник / И.И. Сергеева, А.А. Музалевская, Н.В. Тарасова. - 2-e изд., перераб. и доп. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2014. - 384 с.
  7. Информационные системы: Учебное пособие / Варфоломеева А. О., Коряковский А. В., Романов В. П. - М.: НИЦ ИНФРА-М, 2016. - 283 с.
  8. Ким А. К., Перекатов В. И., Ермаков С. Г.М Микропроцессоры и вычислительные комплексы семейства «Эльбрус». — СПб.: Питер, 2013. — 272 с.
  9. Колдаев В.Д., Лупин С.А. Архитектура ЭВМ: Учебное пособие – М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2014. - 384 с.
  10. Кузьмич, Р.И. Вычислительные системы, сети и телекоммуникации : учеб. пособие / Р.И. Кузьмич, А.Н. Пупков, Л.Н. Корпачева. - Красноярск : Сиб. федер. ун-т, 2018. - 120 с.
  11. Таненбаум Э., Т. Остин Архитектура компьютера, — С-Пб., Питер, 2013. — 816 с.
  12. «Информационный сайт о высоких технологиях» – http://all-ht.ru