05 - Архитектура персонального компьютера

Тема 6 - Микропроцессор

Конспект лекции


Ключові терміни:

complex instruction set computer, reduced instruction set computer, very large instruction word, арифметико-логическое устройство, виртуальный реальный режим, гарвардская архитектура, защищенный режим, интерфейсная система, контроллер прямого доступа к памяти, макроархитектура, математический сопроцессор, микроархитектура, микропроцессор, микропроцессорная память, порт ввода/вывода, прерывание, принстонськая архитектура, реальный режим, регистр, сопроцессор ввода/вывода, суперскалярная архитектура, устройство управления

"Мозгом" персонального компьютера является микропроцессор, или центральный процессор - CPU (Central Processing Unit). Микропроцессор выполняет вычисление и обработку данных (за исключением некоторых математических операций, осуществляемых в компьютерах, которые имеют сопроцессор) и, как правило, является самой дорогостоящей микросхемой компьютера. Во всех PC-совместных компьютерах используются процессоры, совместные с семейством микросхем Intel, но выпускаются и проектируются они как самой Intel, так и компаниями AMD, Cyrix, IDT и Rise Technologies.

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

6.1 Функции микропроцессора

Микропроцессор (МП) выполняет такие основные функции:

6.2 Классификация микропроцессоров

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

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

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

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

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

Рисунок 6.1 - Классификация микропроцессоров по функциональному назначению

 

10.3 Архитектура микропроцессоров

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

Макроархитектура - это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.

10.3.1. Типы архитектур

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

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

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

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

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

CISC (Complex Instruction Set Computer) ‒ архитектура реализована во многих типах микропроцессоров, которые выполняют большой набор разноформатных команд с использованием многочисленных способов адресации. Они выполняют больше 200 команд разной степени сложности, которые имеют размер от 1 до 15 байт и обеспечивают больше 10 разных способов адресации. Такое большое многообразие выполняемых команд и способов адресации разрешает программисту реализовать наиболее эффективные алгоритмы решения разных задач. Тем не менее при этом существенно усложняется структура микропроцессора, особенно его устройство управления, что приводит к увеличению размеров и стоимости кристалла, уменьшению производительности. В то же время много команд и способов адресации используются довольно редко. Также анализ кодов программ, которые генерируются компиляторами языков высшего уровня, показал, что компиляторы из всей системы команд МП используют только ограниченный набор простых команд. Это команды типа "регистр-регистр", "регистр-память". 

RISC (Reduced Instruction Set Computer) ‒ архитектура отличается использованием ограниченного набора команд фиксированного формата. Современные RISC ‒ процессоры по обыкновению реализуют около 100 команд, которые имеют фиксированный формат длиной 4 байта. Также значительно сокращается число используемых способов адресации. По обыкновению в RISC - процессорах все команды обработки данных выполняются только с реестровой или непосредственной адресацией. Для уменьшения количества обращений к памяти RISC-процессоры имеют увеличенный объем внутренних регистров - от 32 до нескольких сотен, тогда как в CISC-процессорах количество регистров общего назначения преимущественно составляет 8-16.

VLIW (Very Large Instruction Word) - архитектура отличается использованием очень длинных команд (до 128 бит и больше), отдельные поля которых содержат коды, которые обеспечивают выполнение разных операций. Таким образом, одна команда вызывает выполнение сразу нескольких операций параллельно в разных операционных устройствах, которые входят в структуру микропроцессора.

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

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

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

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

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

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

10.3.2. Структура типового микропроцессора

В состав микропроцессора входят такие устройства.

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

  2. Интерфейсная система микропроцессора  - система, предназначенная для связи с другими устройствами компьютера. Включает в себя:

Рисунок 10.2 - Архитектура типивого микропроцессора

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

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

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

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

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

10.4 Параметры процессоров

Работа процессора заключается и в последовательном выполнении команд из оперативной памяти, и в скорости выполнения команд. Чем быстрее процессор выполняет команды, тем высшая производительность компьютера в целом. Скорость работы процессора зависит от нескольких параметров.

10.4.1. Быстродействие процессора

Быстродействие процессора ‒ довольно простой параметр. Оно измеряется в мегагерцах (Мгц); 1 Мгц равняется миллиону тактов в секунду. Чем выше быстродействие, тем лучше (тем быстрее процессор). Тактовая частота определяет максимальное время выполнения переключения между элементами ЭВМ.

Реальная частота работы ядра процессора может составлять 1,5-4 Ггц. Тактовая частота определяется умножением частоты внешней шины процессора на коэффициент умножения. Внешняя шина используется для обмена данными с другими устройствами и может иметь обозначения FSB -Front Side Bus- (например: для процессора Intel Core 2DUO E6600 частота FSB - 266,6 Мгц, множитель - 9, в результате тактовая частота будет равна 2400 МГЦ)

10.4.2. Разрядность процессора

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

Шина данных

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

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

Чем больше линий, тем более бит можно передать за один и тот же время. Современные процессоры типа Pentium имеют 64-разрядные внешние шины данных. Это означает, что процессоры Pentium, включая Pentium 4, Athlon и даже Itanium, могут передавать в системную память (или получать из нее) одновременно 64 бит данных. Разрядность шины данных процессора определяет также разрядность банка памяти. Это означает, что 32-разрядный процессор, например класса 486, считывает из памяти или записывает в память 32 бита одновременно.

Шина адресная

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

Шины данных и адреса независимые, и разработчики микросхем выбирают их разрядность на свое усмотрение, но, чем больше разрядов в шине данных, тем более их и в шине адреса. Разрядность этих шин является показателем возможностей процессора: количество разрядов в шине данных определяет способность процессора обмениваться информацией, а разрядность шины адреса ? объем памяти, с которым он может работать.

Внутренние регистры

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

В процессорах Pentium шина данных 64-разрядная, а регистры 32-разрядные. Такое построение на первый взгляд кажется странным, если не учитывать, что в этом процессоре для обработки информации служат 32-два разрядных параллельных конвейера. Pentium во многом подобный 32-двух разрядных процессоров, объединенных в одном корпусе, а 64-разрядная шина данных позволяет быстрее заполнить рабочие регистры. Архитектура процессора с несколькими конвейерами называется суперскалярной архитектурой.

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

10.4.3. Режимы работы процессора

Начиная с 32-разрядных процессоров Intel, начиная с 386-го, могут выполнять программы в нескольких режимах. Режимы процессора предназначены для выполнения программ в разных средах; в разных режимах возможности чіпа неодинаковые, так как команды выполняются по-разному. В зависимости от режима процессора изменяется схема управления памятью системы и задачами.

Процессоры могут работать в трех режимах: реальном, защищенном и виртуальном реальном режиме (реальному внутри защищенного).

Реальный режим

В первом IBM PC использовался процессор 8088, который мог выполнять 16-разрядные команды, применяя 16-разрядные внутренние регистры, и адресовать только 1 Мбайт памяти, используя 20 разрядов для адреса. Все программное обеспечение PC сначала было предназначено для этого процессора; оно было разработано на основе 16-разрядной системы команд и модели памяти объемом 1 Мбайт. 

Более поздние процессоры, например 286, могли также выполнять те же самые 16-разрядные команды, которые и начальный 8088, но намного быстрее. Другими словами, процессор 286 был полностью совместный с первоначальным 8088 и мог выполнять все 16-разрядные программы точно так же, как 8088, но, конечно же, значительно быстрее. 16-разрядный режим, в котором выполнялись команды процессоров 8088 и 286, был названный реальным режимом. Все программы, которые выполняются в реальном режиме, должны использовать только 16-разрядные команды, 20-разрядные адреса и поддерживаться архитектурой памяти, рассчитанной на емкость до 1 Мбайт.

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

Защищенный режим

Первым 32-разрядным процессором, предназначенным для PC, был 386. Этот чип мог выполнять абсолютно новую 32-разрядную систему команд. Чтобы полностью использовать преимущество 32-разрядной системы команд, были необходимые 32-разрядная операционная система и 32-разрядные приложения. Этот новый режим назывался защищенным, так как работающие в нем программы защищены от перезаписи своих областей памяти другими программами. Такая защита делает систему более надежной, поскольку ни одна программа уже не сможет так легко повредить другие программы или операционную систему. Кроме того, программу, "потерпевшую крах", можно довольно просто завершить без убытка для всей системы.

Защищенный режим имеет много преимуществ:

Виртуальный реальный режим

Для обратной совместимости 32-разрядная система Windows 9x использует третий режим в процессоре - виртуальный реальный режим. Виртуальный реальный, в сущности, является режимом выполнение 16-разрядной среды (реальный режим), которая реализована внутри 32-разрядного защищенного режима (т.е. виртуально, а не реально). Выполняя команды в окне подсказки DOS внутри Windows, вы создаете виртуальный сеанс реального режима. Поскольку защищенный режим является в самом деле многозадачным, фактически можно выполнять несколько сеансов реального режима, причем в каждом сеансе собственное программное обеспечение работает на виртуальном компьютере. И все эти приложения могут выполняться одновременно, даже во время работы других 32-разрядных программ.

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

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

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

 

 

 

 


© 2016 СумГУ
created with Lectur'EDbeta