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

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

Содержание:

Введение

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

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

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

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

- в анализе основных характеристик процессора;

- в рассмотрении архитектуры ЦП;

- в рассмотрении современных процессоров и определении их классификации.

Глава 1. Понятие и основные характеристики процессоров

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

Рассмотрим основные характеристики процессора, к которым относятся:

1. Быстродействие (вычислительная мощность) – это среднее число операций процессора в секунду.

2. Тактовая частота в МГц. Тактовая равна количеству тактов в секунду. Такт - это промежуток времени между началом подачи текущего импульса ГТЧ и началом подачи следующего. Характерные тактовые частоты микропроцессоров: 40 МГц, 66 МГц, 100 МГц, 130 МГц, 166 МГц, 200 МГц, 333 МГц, 400 МГц, 600 МГц, 800 МГц, 1000 МГц и т. д. До 3ГГц Тактовая частота отражает уровень промышленной технологии, по которой изготавливался данный процессор. Она также характеризирует и компьютер, поэтому по названию модели микропроцессора можно составить достаточно полное представление о том, к какому классу принадлежит компьютер. Поэтому часто компьютерам дают имена микропроцессоров, входящих в их состав. Ниже приведены названия наиболее массовых процессоров, выпущенных фирмой Intel и годы их создания: 8080 (1974 г.), 80286 (1982 г.), 80386DX (1985 г.), 80486DX (1989 г.), 80586 или Pentium (1993 г.), Pentium Pro (1995 г.), Pentium II (1997 г.), Pentium III (1999 г.), Pentium IV (2001 г.). Как видно, увеличение частоты – одна из основных тенденций развития микропроцессоров. Более наглядно это тенденцию можно увидеть на представленном ниже графике, который отражает увеличение тактовой частоты (clock frequency)[1]:

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

3. Разрядность процессора - это максимальное количество бит информации, которые могут обрабатываться и передаваться процессором одновременно. Разрядность процессора определяется разрядностью регистров, в которые помещаются обрабатываемые данные. Например, если регистр имеет разрядность 2 байта, то разрядность процессора равна 16 (2x8); если 4 байта, то 32; если 8 байтов, то 64[2].

Основная польза от перехода к 64 разрядным процессорам - это возможность использования оперативной памяти больше 4 Гб. Каждая ячейка оперативной памяти имеет адрес и в 32-х битной операционной системе он записывается как двоичный код длиной в 32 символа. Получаем — 2^32=4294967296 байт = 4 ГБ. Иначе говоря, в 32-битной операционной системе, ячейки памяти расположенные за границей в 4Gb не получат адреса и не будут использованы. В 64-х битных операционных системах размер адресной памяти равен 2^64= 18446744073709551616[3], т.е. 16 эксабайт (16 млн терабайт).

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

Многоядерная архитектура предполагает размещение двух или более основных вычислительных агрегатов в пределах единственного процессора. Этот многоядерный процессор имеет единственный интерфейс с системной платой, но операционные системы «видят» каждое из его ядер как дискретный логический процессор со всеми связанными ресурсами. Это отличает их от технологии Hyper-Threading (где отдельные процессы выполняются единственным ядром) и существующие ресурсы используются более эффективно.

Разделяя вычислительную нагрузку, выполняемую единственным ядром в традиционных процессорах между многими ядрами, многоядерный процессор может выполнить большую работу в пределах отдельного цикла ЭВМ. Чтобы реализовать это увеличение эффективности, соответствующее программное обеспечение должно поддерживать это распараллеливание. Эти функциональные возможности называют «параллелизмом уровня подпроцесса (нити)» или «threading». Приложения и операционные системы, которые поддерживают это, упоминаются как мульти-подпроцессные или «multi-threaded»[4].

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

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

Глава 2. Архитектура процессора и его функции

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

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

Архитектура фон Неймана, также известная как Принстонская архитектура - это широко известный принцип совместного хранения команд и данных в памяти компьютера[6]. Основной документ, который был подготовлен фон Нейманом - "Первый проект отчёта о EDVAC" (незаконченный) - описывает архитектуру электронного вычислительного устройства со следующими компонентами:

- процессор, содержащий арифметико-логическое устройство и регистры процессора;

- управляющее устройство, включающее в себя регистр инструкций и счетчик программ;

- память, хранящая данные и инструкции;

- внешнее хранилище данных;

- устройства ввода-вывода.

Процессор состоит из нескольких частей. Блок управления отвечает за вызов команд из памяти и определение их типа. Арифметико-логическое устройство выполняет арифметические и логические операции (например, сложение, логическое И).

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

По отношению к назначению внутренних регистров существует два основных подхода. Первого придерживается, например, компания Intel, которая каждому регистру отводит строго определенную функцию. С одной стороны, это упрощает организацию процессора и уменьшает время выполнения команды, но с другой — снижает гибкость, а иногда и замедляет работу программы. Например, некоторые арифметические операции и обмен с устройствами ввода/вывода проводятся только через один регистр — аккумулятор, в результате чего при выполнении некоторых процедур может потребоваться несколько дополнительных пересылок между регистрами. Второй подход состоит в том, чтобы все (или почти все) регистры сделать равноправными, как , например, в 16-разрядных процессорах Т-11 фирмы DEC. При этом достигается высокая гибкость, но необходимо усложнение структуры процессора. Существуют и промежуточные решения, в частности, в процессоре MC68000 фирмы Motorola половина регистров использовалась для данных, и они были взаимозаменяемы, а другая половина — для адресов, и они также взаимозаменяемы.

В первую группу входят регистры общего назначения. В процессорах 386 и выше имеются восемь 32-битовых регистров общего назначения EAX, EBX, ECX, EDX, ESI, EDI, EBP, и ESP. Процессоры 386 и выше могут обращаться к 16-битовым половинам 32-битовых регистров. При необходимости возможна работа с половинами регистров, поскольку они разделены на старшую и младшую половину, называемые AH и AL, BH и BL и т.д. Такое разделение регистров имеется во всех процессорах. Значительная часть внутренних операций компьютеров производится с использованием регистров общего назначения.

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

Регистр CS сегмента кода (программы) показывает, в каком месте памяти находится программа. Регистр DS сегмента данных локализует используемые программой данные. Регистр ES дополнительного сегмента дополняет сегмент данных. Регистр SS сегмента стека определяет стек компьютера. В процессорах 386 и выше имеются еще два сегментных регистра: FS и GS, предназначенных для адресации памяти.

Если сегментные регистры обеспечивают доступ к большим блокам памяти, то последняя группа используется совместно с сегментным регистром для локализации в памяти конкретных байтов. Регистр указателя команды IP определяет ту точку, где выполняется программа. Регистры указателя стека SP и указателя базы BP помогают следить за информацией в стеке (стек — это область памяти, где хранится информация о текущих действиях компьютера). Регистры индекса источника SI и индекса получателя DI помогают программам пересылать большие блоки данных из одного места в другое.

Регистр признаков (регистр состояния) занимает особое место, хотя он также является внутренним регистром процессора. Содержащаяся в нем информация — это не данные, не адрес, а слово состояния процессора (ССП, PSW — Processor Status Word).

Каждый бит этого слова (флаг) содержит информацию о результате предыдущей команды. Например, есть бит нулевого результата, который устанавливается в том случае, когда результат выполнения предыдущей команды — нуль, и очищается в том случае, когда результат выполнения команды отличен от нуля. Эти биты (флаги) используются командами условных переходов, например, командой перехода в случае нулевого результата. В этом же регистре иногда содержатся флаги управления, определяющие режим выполнения некоторых команд[8].

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

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

Большинство команд можно разделить на две группы:

- команды типа регистр-регистр;

- команды типа регистр-память.

Команды первого типа вызывают два операнда из регистров, помещают их во входной регистр АЛУ, где над ними выполняется та или иная арифметическая или логическая операция, и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных, в какой-то степени он определяет, что может делать машина. Современные компьютеры оснащаются несколькими АЛУ, работающими параллельно и специализирующимися на разных функциях. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает.

Выполнение команд в центральном процессоре происходит за несколько шагов:

1) команды вызывается из памяти и переносится в реестр команд;

2) положение счетчика команд меняется, для того, чтобы теперь он указывал на следующую команду;

3) определяется тип выбранной команды;

4) в том случае, если команда использует слово из памяти, то определяется, где находится это слово;

5) слово переносится, если это необходимо, в регистр центрального процессора;

6) команда выполняется;

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

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

Рассматривая архитектуры процессоров нельзя не затронуть тему так называемых конвейеров.

Как известно, одним из главных препятствий высокой скорости выполнения команд является необходимость их загрузки из памяти. Чтобы решить это проблему, можно вызывать команды из памяти заранее и хранить их в специальном наборе регистров. Такая идея появилась еще в 1959 году при разработке компьютера Stretch компании IBM, сам набор регистров для хранения команд был назван буфером выборки с упреждением. Таким образом, когда требовалась определенная команда, она вызывалась прямо из буфера, минуя обращение к памяти. При таком подходе команда по сути выполнялась за два шага: выборка команды; выполнение команды.

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

Рассмотрим пример пятиступенчатого конвейера, схема которого представлена ниже:

Изображенный конвейер состоит из пяти блоков, которые называются ступенями. Принцип работы ступеней конвейера таков:

- блок С1 (первая ступень) вызывает команду из памяти и помещает ее в буфер, в котором эта команда будет хранится до тех пор, пока не потребуется;

- блок С2 (вторая ступень) осуществляет декодирование этой команды, определяя ее тип и типы ее операндов;

- блок С3 (третья ступень) определяет местоположение операндов в памяти или регистрах и вызывает эти операнды;

- блок С4 (четвертая ступень) выполняет команду, обычно проводя операнды через тракт данных;

- блок С5 (пятая ступень) записывает результат в нужный регистр.

Также на схеме конвейера выше мы можем рассмотреть принцип его работы во времени и каким образом выполнение команд может осуществляться параллельного. Мы видим, что на схеме отображено 9 циклов, работа каждого блока осуществляется параллельно с другими. Например, когда блок С1 уже передал команду 1 в буфер, а блок С2 начал работу над ее декодирование, блок С1 в свою очередь может продолжить работу со следующими командами - например, обработать команду 2 и так же положить ее в буфер.

Конвейеры позволяют добиться компромисса между временем запаздывания (время выполнения одной команды) и пропускной способностью процессора (количество команд, выполняемых процессором в секунду). При отсутствии конвейера выполнение команды займёт n единиц времени (так как для выполнения команды по прежнему необходимо выполнять выборку, дешифрацию и т. д.), и для исполнения m команд понадобится единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения m команд понадобится всего лишь n + m единиц времени[9].

Глава 3. Классификация процессоров

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

Возможности центрального процессора определяются архитектурой набора инструкций, которых существует два вида - CISC (complex instruction set computing - компьютер с полным набором команд) и RISC (reduced instruction set computing - компьютер с сокращенным набором команд). CISC процессоры способны выполнять сложные многошаговые операции используя один набор инструкций. Таким образом, один набор инструкций способен выполнять много низкоуровневых операций, например, хранение данных, арифметические операции и загрузка данных из памяти. В свою очередь RISC архитектура основана на принципе упрощенного набора инструкций, что позволяет достичь более высокой производительности[10].

3.1. CISC архитектура

Рассмотрим более подробно CISC архитектуру. Ее основоположником является считается фирма IBM с архитектурой IBM/360 и данная архитектура исторически является одной из первых. При разработке этого подхода была совершена попытка минимизировать количество инструкций для программ, пожертвовав количеством циклов для конкретной инструкции. Основная цель такого подхода - сократить "стоимость памяти", поскольку большие программы требуют большего количества памяти. Для решения этой проблемы был предложен подход уменьшения количества инструкций, путем группировки простых операций в одну инструкцию, несмотря на то, что инструкции при таком подходе становились более сложными. Выполнение сколь угодно сложной программы из системы команд процессора реализовывается аппаратно внутри самого процессора. Схема CISC архитектуры представлена на рисунке ниже:

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

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

В результате, сложилось основные характерные черты CISC процессоров, к которым можно отнести:

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

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

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

- различные формы команд с разной длиной;

- преобладание двухадресной адресации (которая используется для выполнения операций с двумя операндами)[11];

- развитый механизм адресации операндов, включающий различные методы косвенной адресации[12].

Примеры процессоров, построенных на основе CISC архитектуры:

- IBM 370/168 - представлен в 1970 году. Это 32 битный процессор, обладавший также четырьмя 64 битными регистрами для чисел с плавающей точкой;

- VAX 11/780 - представлен в 1977 года компанией Digital Equipment Corporation. Это был 32 разрядный процессор, поддерживавший большое количество способов адресации и инструкций;

- Intel 80486 (также известный как i486) - процессор, выпускавшийся с 1989 по 2007 год, поддерживавший 235 инструкций.

CISC подход имеет также свои сложности и проблемы. Например, на практике выяснилось, что многие сложные команды часто не использовались при написании программ. Часть некоторых команд со временем стало невозможно выполнять чисто аппаратными средствами, поэтому в процессорах постепенно появились блоки, которые в ходе выполнения команды заменяли сложный блок на последовательность более простых. И наконец, поскольку команды обладают высокой сложностью, а самих таких команд достаточно много, то устройство управления вычислительной машиной приходилось строить только на основе программируемой логики, то есть с привлечением "медленной" управляющей памяти. Таким образом, все перечисленные недостатки привели в последствии к повороту в сторону RISC архитектуры, однако ряд достоинств CISC архитектуры сохраняет свою актуальность и сегодня, поэтому ведущие фирмы-производители (Intel, AMD, IBM) и сегодня не отказываются от CISC подхода.

3.2. RISC архитектура

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

Впервые идея RISC архитектуры была предложена Джоном Коком из компании IBM Research в 1975 году, первая реализация же осуществилась в 1980 году. В основе концепции RISC - сведение набора команд вычислительной машины к наиболее употребительным простейшим командам. За счет этого можно упростить схемотехнику процессора и добиться резкого сокращения времени выполнения каждой из "простых" команд. В свою очередь, более сложные команды реализуются как подпрограммы, состоящие из нескольких "простых" команд.

Характерные черты процессоров с RISC архитектурой;

- команды имеют фиксированную длину;

- процессор имеет большое число регистров, операций типа регистр-регистр;

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

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

Все перечисленные факторы положительно сказываются на общем быстродействии вычислительной машины.

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

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

Устройство управления с аппаратной логикой, реализованное в большинстве RISC-систем, менее гибко, более склонно к ошибкам, затрудняет поиск и исправление ошибок, уступает при выполнении сложных команд[13].

3.3. VLIW архитектура

Рассмотрим также такую архитектуру как VLIW (very long instruction word - очень длинная машинная команда). Основная отличительная черта этой архитектуры заключается в том, что в ней присутствует возможность объединения нескольких простых команд в так называемую связку. Команды, которые входят в эту связку, должны быть независимыми друг от друга и выполняться параллельно. Таким образом, транслятор из нескольких независимых машинных команд формирует одно "очень длинное командное слово".

Данная архитектуры известна с начала 80х годов из ряда университетских проектов. Идея VLIW базируется на том, что задача эффективного планирования параллельного выполнения команд возлагается на «разумный» компилятор. Вначале компилятор проводит анализ исходной программы, для того, чтобы обнаружить все команды, которые могут быть выполнены одновременно (так, чтобы между ними не возникло конфликтов). Затем компилятор пытается объединить полученные команды в связки, каждая из которых рассматривается как сверхдлинная команда.

Существуют определенные правила, по которым компилятор формирует такую сверхдлинную команду:

- количество простых команд, объединяемых в одну команду сверхбольшой длины, равно числу имеющихся в процессоре функциональных (исполнительных) блоков (ФБ);

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

В состав сверхдлинных команд обычно входят команды RISC типа, длина итоговой команды обычно составляет от 256 до 1024 битов. Поскольку мы получаем по сути набор команд, собранных в одну, то итоговая команда также должна содержать специальные поля, каждое из которых описывает операцию для конкретного функционального блока. Количество таких полей ограничено числом вычислительных устройств и обычно колеблется в диапазоне от 3 до 20. Данные хранятся в едином многопортовом регистровом файле, куда все вычислительные устройства имеют доступ.

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

Как и в случае с RISC архитектурой, основные недостатки архитектуры VLIW проистекают непосредственно из ее достоинств, и выражаются в следующих проблемах:

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

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

В России VLIW-концепция была реализована в суперкомпьютере «Эльбрус 3-1» и получила дальнейшее развитие в его последователе - «Эльбрус-2000» (E2k)[14].

3.4. EPIC архитектура

Еще один тип архитектуры процессоров - это EPIC архитектура (Explicitly Parallel Instruction Computing - явный параллелизм команд). Впервые он был предложен в 1997 года компаниями HP и Intel для разрабатываемой архитектуры Intel Itanium. Суть этого подхода в том, что микропроцессор может выполнять инструкции параллельно, не выявляя возможность параллельной работы инструкций при помощи специальных схем, а опираясь только на работу компилятора. В результате возможно упрощение масштабирования вычислительной мощности процессора без увеличения тактовой частоты. По сути, EPIC является усовершенствованной версией VLIW. Команды упаковываются (группируются) компилятором в сверхдлинную команду - связку (bundle) длиною в 128 разрядов. Логика выдачи команд на исполнение сложнее, чем в традиционных процессорах типа VLIW, но намного проще, чем у суперскалярных процессоров с неупорядоченной выдачей.

По мнению специалистов Intel и HP, концепция EPIC, сохраняя все достоинства архитектурной организации VLIW, свободна от большинства ее недостатков.

К особенностям архитектуры EPIC можно отнести:

- большое количество регистров;

- масштабируемость архитектуры до большого количества функциональных блоков;

- явный параллелизм в машинном коде. Поиск зависимостей между командами осуществляет не процессор, а компилятор;

- предикация - команды из разных ветвей условного предложения снабжаются полями предикатов (полями условий) и запускаются параллельно;

- предварительная загрузка - данные из медленной основной памяти загружаются заранее[15].

3.5. Дополнительные классификации процессоров

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

Например, по области применения и выполняемым функциям процессоры подразделяются на:

а) процессоры встраиваемых (управляющих) систем (embedded processor):

- универсальные;

- с расширенными коммуникационными возможностями;

- с расширенными возможностями дискретного ввода-вывода;

- с расширенными возможностями обработки аналоговых сигналов (mixed signal processor);

б) коммуникационные процессоры - поддерживающие аппаратные интерфейсы и протоколы коммуникационных систем:

- Сетевые - поддерживающие распространенные сетевые и современные периферийные интерфейсы: Ethernet, HDLC, X.25, Tl, ATM, USB, High Speed U ART и др. Выпускаются фирмами Motorola (МСбЗЗхх, MPCSxx), AMD (Am 1 86СС);

- Модемные - поддерживающие протоколы серий V2x, V3x передачи данных по синхронным и асинхронным модемным каналам.

в) Процессоры цифровой обработки сигналов (digital signal processor (DSP)) - реализуют методы цифровой обработки сигналов: фильтрацию, спектральный анализ, смешение сигналов, масштабирование. Отличительная особенность DSP-процессоров - поточная обработка больших объемов данных в реальном времени, требующая высокой производительности, но ограниченного набора операций. Основные производители - Texas Instruments (семейство TMS320), Analog Devices (семейство ADSP21xxx), Motorola (семейства DSP56xxx, DSP96xxx);

г) Медийные процессоры - ориентированные на обработку видео- и звуковой информации:

- С аппаратной поддержкой мультимедийной обработки (медиапроцессоры) - имеют аппаратные блоки и развитую систему команд для обработки и передачи аудио и графических данных, видеоизображений. Используются в аудио- и видеоадаптерах в персональном компьютере, в игровых приставках, в бытовой технике. Примеры: медиапроцессор систем связи компании Microtltility, универсальные медиапроцессоры Trimedia (Philips), MediaGX (Ciryx), видеопроцессоры серии NV1..5 (Nvidia);

- С мультимедийным расширением набора команд (Intel MMX и более старшие модели, UltraSPARC (Sun Microsystem).

д) Co-процессоры:

- Математические;

- Ввода-вывода.

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

ж) Другие типы спецпроцессоров:

- Нейропроцессоры - ориентированы на построение систем с архитектурой нейронных сетей. Такие системы применяются для решения плохо формализуемых задач: распознавание образов, предсказание поведения систем, оптимизация и т.п.;

- Процессоры языков высокого уровня (JAVA, Forth и др.);

- Узкоспециализированные (медицинская техника, военные, для научно-исследовательских систем и т.п.)[16].

По количеству больших интегральных схем в микропроцессорном комплекте различают микропроцессоры:

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

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

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

По характеру временной организации работы различают процессоры:

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

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

По количеству одновременно выполняемых команд:

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

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

Заключение

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

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

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

Список литературы

  1. Акулов О.А., Медведьев Н.В. Информатика: базовый курс. М.: Омега-Л, 2006.

Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник http://inf.e-alekseev.ru/text/Processor.html

  1. Дорот В.А., Новиков Ф.Н. Толковый словарь современной компьютерной лексики. 2-е изд. СПб.: BHV, 2001.
  2. Ершова Н.Ю. Проектирование микропроцессорных систем. Пособие к курсу "Микропроцессорная техника". https://dfe.petrsu.ru/koi/posob/projmps
  3. Иванов Е.С. «Микропроцессорные системы», методическая разработка: «Йошкар-Олинский технологический колледж», 2016
  4. Информатика: Учебник. Под ред. Макаровой Н.В. М.: Финансы и статистика, 2000.
  5. Лесничая И.Г. Информатика и информационные технологии. Учебное пособие. М.: Издательство Эксмо, 2007
  6. Макарова Н.В., Николайчук Г.С., Титова Ю.Ф. Компьютерное делопроизводство. - СПб.: Издательский дом «Питер», 2002.
  7. Под ред. Косарева В.П., Королева Ю.М. Экономическая информатика и вычислительная техника. - М.: Перспектива, 2000. - 99с.
  8. Под ред. проф. Шуремова Е.Л., доц. Тимаковой Н.А., доц. Мамонтовой Е.А. Практикум по экономической информатике. - М.: Перспектива, 2000.
  9. Танненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. - СПб.: Питер, 2013.
  10. Интернет ресурс http://www.openclass.ru/node/27313
  11. Интернет ресурс https://www.watelectronics.com/what-is-risc-and-cisc-architecture/
  12. Интернет ресурс https://pandia.ru/text/77/255/57695.php
  13. Интернет ресурс https://sites.google.com/site/tehnorainfo/sistemnoe-programmirovanie/lekcia-2-registry-processora-i-ih-naznacenie
  14. Интернет ресурс http://hardwareguide.ru/процессор/разрядность-процессора
  15. Интернет ресурс http://www.singularity.com/charts/page61.html
  16. Конспект лекций по теме "Микропроцессоры и микропроцессорные системы" Восточноукраинского национального университета им. В. Даля https://studfile.net/preview/2523586/page:2/
  17. Словарь-справочник по информатике факультета информационных технологий Новосибирского государственного университета http://www.nsc.ru/win/elbib/data/show_page.dhtml?77+35
  18. Электронный учебно-методический комплекс "Архитектура компьютера" http://arxitektura-pk.26320-004georg.edusite.ru/p31aa1.html
  1. http://www.singularity.com/charts/page61.html

  2. Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник http://inf.e-alekseev.ru/text/Processor.html

  3. http://hardwareguide.ru/процессор/разрядность-процессора

  4. Иванов Е.С. «Микропроцессорные системы», методическая разработка: «Йошкар-Олинский технологический колледж», 2016 - с.14 http://moodle.yotc.ru/book/mp.pdf

  5. https://ru.wikipedia.org/wiki/%D0%9A%D1%8D%D1%88

  6. https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0

  7. https://sites.google.com/site/tehnorainfo/sistemnoe-programmirovanie/lekcia-2-registry-processora-i-ih-naznacenie

  8. http://arxitektura-pk.26320-004georg.edusite.ru/p31aa1.html

  9. https://pandia.ru/text/77/255/57695.php

  10. https://www.watelectronics.com/what-is-risc-and-cisc-architecture/

  11. https://dfe.petrsu.ru/koi/posob/projmps/comm3.html

  12. http://www.nsc.ru/win/elbib/data/show_page.dhtml?77+739+35

  13. http://www.nsc.ru/win/elbib/data/show_page.dhtml?77+740+35

  14. http://www.nsc.ru/win/elbib/data/show_page.dhtml?77+741+35

  15. http://www.nsc.ru/win/elbib/data/show_page.dhtml?77+742+35

  16. https://studfile.net/preview/2523586/page:2/

  17. http://www.openclass.ru/node/27313