Файл: Процессор персонального компьютера. Назначение, функции, классификация процессора (Архитектура микропроцессора).pdf
Добавлен: 29.04.2023
Просмотров: 551
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Архитектура микропроцессора
1.1 Классификация микропроцессоров.
1.2 Устройство микропроцессора.
1.3 Характеристики микропроцессора.
Глава 2. Архитектура системы команд: CISC и RISC
2.1 Особенности микропроцессоров CISC-архитектуры.
2.2 Особенности микропроцессоров RISC-архитектуры.
2.3 Конвейеризация вычислений.
2.4 Технологии повышения производительности: суперскалярность и внеочередное выполнение инструкций.
Реализовать эффективный конвейер непросто. Среди основных проблем конвейеризации встречаются:
- Необходимость наличия блокировок конвейера. Поскольку время исполнения большинства инструкций может очень сильно варьироваться (для примера: умножение (и деление) чисел требуют (на стадии EXECUTE) нескольких тактов; сложение или побитовые операции - одного такта; а для операций Load и Store это время вообще не определено, поскольку данные инструкции подразумевают обращение как к различным уровням кэш-памяти, так и к оперативной памяти (и данный показатель может достигать сотен тактов)), то соответственно, возникает необходимость в механизме, который бы задерживал выборку и декодирование новых инструкций до тех пор, пока не будет завершено выполнение старых. Для решения этой проблемы были разработаны специальные функциональные блоки, которые располагаются в процессорах прямо перед исполнительными устройствами - блоки-диспетчеры (dispatcher). В данных блоках происходит накопление подготовленных к исполнению инструкций, а также осуществляется отслеживание выполнения ранее запущенных инструкций. В порядке освобождения исполнительных устройств диспетчеры отправляют на них новые инструкции. При возникновении ситуации, при которой исполнение конкретной инструкции занимает много тактов, внутренняя очередь диспетчера позволяет в большинстве случаев не останавливать подготавливающий все новые и новые инструкции конвейер. Поскольку новые инструкции удается декодировать не каждый такт, то возможной является и обратная ситуация: новых инструкций за такт не предоставлено, и диспетчер отправляет инструкции на выполнение из очереди во внутренней памяти. Таким образом, в процессоре функционально можно выделить две независимо работающие подсистемы: Front-end (блоки, занимающиеся декодированием инструкций и их подготовкой к исполнению) и Back-end (блоки, собственно исполняющие инструкции).
- Необходимость наличия системы сброса процессора. В связи с тем, что операции FETCH и EXECUTE всегда выделены в различные стадии конвейера, в тех случаях, когда в программном коде появляется разветвление (условный переход), возникает ситуация, при которой достоверно не известно, по которой из веток должно идти дальнейшее выполнение программы: инструкция, вычисляющая код условия, еще не выполнена. В результате процессор вынужден либо приостанавливать выборку новых инструкций до тех пор, пока не будет вычислен код условия (что занимает много времени, и значительно замедляет выполнение программы процессором), либо, продолжать выполнение программного кода в соответствии с указаниями блока предсказания переходов.
- Для эффективной работы конвейера требуется наличие специального планировщика (scheduler), предназначенного для решения конфликтов по данным. Суть его работы можно представить следующим образом: если в программе идет зависимая цепочка инструкций (при которой инструкция-2, следующая за инструкцией-1, использует для своих вычислений данные, только что вычисленные инструкцией-1), а время исполнения одной инструкции (от момента запуска на стадию EXECUTE и до этапа записи полученных результатов в регистры) занимает более одного такта, то процессор вынужден задержать выполнение инструкции-2 до тех пор, пока не будет полностью выполнена инструкция-1. Цепочки зависимых инструкций в программном коде возникают систематически проблема зависимости по данным сопровождает любую конвейерную архитектуру. С целью решения этих проблем в процессорах существуют декодеры, чьей функцией является выявление этих зависимостей, и планировщики, чьей задачей является выдерживание паузы между запуском главной инструкции и зависимой от нее.
Практическая реализация конвейера чрезвычайно сложна. Но рост производительности при использовании конвейеризации столь значителен, что техническое решение этих проблем является оправданным, несмотря на затраты на этапе разработки. [6]
Ярким примером эффективности этой технологии является выпуск в 1992 году корпорацией i486 - классического CISC-процессор архитектуры x86, но с пятистадийным конвейером. Применение конвейеризации позволило втрое повысить тактовую частоту в сравнении с 80386, а производительность в расчете на один такт – удвоилась. Если в процессорах серии i80386 многие инструкции выполнялись в течение нескольких тактов, то у процессора i80486 среднее количество тактов, затрачиваемых на инструкцию удалось снизить почти вдвое. Это стало возможным благодаря значительному усложнению архитектуры процессора.
Но к тому моменту коммерческие процессоры, выполненные в соответствии с RISC-архитектурой получили новые перспективные технологии — суперскалярность и внеочередное исполнение инструкций.
2.4 Технологии повышения производительности: суперскалярность и внеочередное выполнение инструкций.
Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут загружать работой множество исполнительных блоков. Планирование исполнения потока команд является динамическим и осуществляется самим вычислительным ядром. [2]
Еще одной технологией, позволяющей повысить производительность RISC-процессоров является внеочередное исполнение инструкций - Out-of-Order processors. Суть ее заключается в том, что если выполнение какой-либо инструкции затягивается (например, при обращении к «медленной» оперативной памяти), то планировщик передает на исполнение другие инструкции, не зависящие от исполнения первой.
Следует заметить, что на сегодняшний день не существует ни одного суперскалярного или OoO CISC-процессора. Дело в том, что для нормальной реализации производительных диспетчеров и планировщиков требуется длительная и тщательная подготовка инструкций до такого простого состояния, чтобы эти, функционирующие на высоких частотах, функциональные блоки могли максимально быстро перенаправить поток инструкций на соответствующие исполнительные устройства. Поэтому любой исходный машинный код Front-end процессоров превращает перед исполнением в некое внутреннее, упрощенное состояние. Эта технология используется, в том числе, в современных процессорах семейства x86. То есть на данном этапе развития компьютерных технологий различия между RISC- и CISC-архитектурами почти. Так что можно сказать, что фактически все современные x86-процессоры полноценными RISC-процессорами - ведь исходный x86-код они в любом случае преобразуют в реальном времени во внутреннее RISC-подобное представление. [6]
Также следует отметить, что развитие архитектуры RISC во многом обязано прогрессу в области создания оптимизирующих компиляторов. Именно современная техника компиляции позволяет эффективно использовать преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд. Современные компиляторы используют также преимущества другой вышеуказанной оптимизационной техники для повышения производительности, обычно применяемой в процессорах RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд. [1]
К процессорам с RISC-архитектурой, получившим наиболее широкое коммерческое применение относятся: ARM, SPARC, PowerPC, MIPS (последняя архитектура использовалась при создании отечественных процессоров семейства Baikal и китайских Godson).
Заключение
В данной работе рассмотрена архитектура команд микропроцессора. Приведена схема общего устройства микропроцессоров, их классификация. Раскрыты понятия архитектуры процессора, системы команд, оптимальной системы команд, режимов адресации, RISC-архитектуры, CISC-архитектуры, конвейеризации, суперскалярности, внеочередного выполнения команд.
Поставленные задачи выполнены в полном объеме. При выполнении данного исследования использовались как справочники, так и периодические издания.
Высокие требования, которые предъявляются к производительности вычислительных устройств при решении широкого круга задач в таких областях как экономический анализ, управление производством, трехмерное проектирование, моделирование биологических процессов, индустрия видеоигр и т. д., служат движущей силой, которая стимулирует дальнейшее совершенствование данных типов устройств. Одним из направлений оптимизации является совершенствование системы команд микропроцессоров. На сегодняшний день наиболее распространенными типами процессоров стали представители CISC- и RISC-архитектуры, при этом, в ходе «эволюции» микропроцессоров произошло слияние технологий, при котором образцы наиболее производительных CISC-процессоров являются RISC-устройствами на уровне непосредственного исполнения инструкций. Данное преобразование предоставляет возможность использовать преимущества RISC-архитектуры, позволяя при этом использовать наследие накопленного программного обеспечения для микропроцессоров семейства i80x86.
Кроме производительности, к микропроцессорам предъявляются такие требования, как энергопотребление, тепловыделение, технологичность производства. Данные характеристики находятся в зависимости от архитектуры системы команд. Исходя из данных требований, наиболее оптимальными для мобильных устройств, а также встраиваемых систем оказались процессоры RISC-архитектуры. К ним, в частности, относятся микропроцессоры семейства Baikal, разработанные Российской компанией Baikal Electronics, и использующие системы команд архитектур MIPS и ARM.
При этом следует отметить, что на сегодняшний день практически не осталось «классических» представителей RISC-архитектуры, которые бы массово использовались в персональных компьютерах и рабочих станциях. Однако данная ситуация может измениться в связи с развитием в КНР семейства микропроцессоров Godson (название архитектуры — Loongson) и выходом компании Qualcomm на рынок ноутбуков с процессорами семейства Snapdragon.
Дальнейшее развитие архитектуры системы команд является динамическим процессом, который ни на минуту не останавливается в научно-технических центрах компаний-разработчиков и лабораториях научно-исследовательских институтов.
Список литературы
1. Александров Е.К. Микропроцессорные системы [Электронный ресурс]: учебное пособие/ Александров Е.К., Грушвицкий Р.И., Куприянов М.С.— Электрон. текстовые данные.— СПб.: Политехника, 2012.— 935 c.
2. Гуров В.В. Архитектура микропроцессоров [Электронный ресурс]: учебное пособие/ Гуров В.В.— Электрон. текстовые данные.— М.: БИНОМ. Лаборатория знаний, Интернет-Университет Информационных Технологий (ИНТУИТ), 2010.— 272 c.
3. Ершова Н.Ю., Ивашенков О.Н., Курсков С.Ю. Микропроцессоры
Учебное пособие, электронная версия. - Петрозаводск: Петрозаводский государственный университет. - 110 стр.
4. Макарова Н., Волков В. Информатика. Учебное пособие для обучающихся по программе бакалавриата. Спб.: Питер, 2011 — 576 с.
5. Озеров С. Архитектура процессоров. CISC и RISC.// Компьютерра: журнал. - 2005.
6. Русанов В.В. Микропроцессорные устройства и системы [Электронный ресурс]: учебное пособие/ Русанов В.В., Шевелёв М.Ю.— Электрон. текстовые данные.— Томск: Томский государственный университет систем управления и радиоэлектроники, 2012.— 184 c.
7. Цилькер Б.Я. Организация ЭВМ и систем : Учебник для вузов / Б.Я. Цилькер, С.А. Орлов. - 2-е изд. - СПб.: Питер, 2011. - 688 с.