sonyps4.ru

Микропроцессоры.

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

Понятие большая интегральная схема в настоящее время четко не определено. Ранее считалось, что к этому классу следует относить микросхемы, содержащие более 1000 элементов на кристалле. И действительно, в эти параметры укладывались первые микропроцессоры. Например, 4-разрядная процессорная секция микропроцессорного комплекта К584, выпускавшегося в конце 1970-х годов, содержала около 1500 элементов. Сейчас, когда микропроцессоры содержат десятки миллионов транзисторов и их количество непрерывно увеличивается, под БИС будем понимать функционально сложную интегральную схему.

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

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

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

Рис. 1.1. Классификация микропроцессоров

Характеристики универсальных микропроцессоров:

    разрядность: определяется максимальной разрядностью целочисленных данных, обрабатываемых за 1 такт, то есть фактически разрядностью арифметико-логического устройства (АЛУ);

    виды и форматы обрабатываемых данных;

    система команд, режимы адресации операндов;

    емкость прямоадресуемой оперативной памяти: определяется разрядностью шины адреса;

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

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

Универсальные микропроцессоры принято разделять на CISC - иRISC-микропроцессоры. CISC-микропроцессоры (Completed Instruction Set Computing - вычисления с полной системой команд) имеют в своем составе весь классический набор команд с широко развитыми режимами адресации операндов. Именно к этому классу относятся, например, микро процессоры типа Pentium. В то же времяRISC-микропроцессоры (reduced instruction set computing - вычисления с сокращенной системой команд) используют, как следует из определения, уменьшенное количество команд и режимов адресации. Здесь прежде всего следует выделить такие микропроцессоры, как Alpha 21x64, Power PC. Количество команд в системе команд - наиболее очевидное, но на сегодняшний день не самое главное различие в этих направлениях развития универсальных микропроцессоров. Другие различия мы будем рассматривать по мере изучения особенностей их архитектуры.

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

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

Отличительные особенности архитектуры однокристальных микроконтроллеров:

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

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

    простейшие режимы адресации операндов.

Основные характеристики микроконтроллеров (в качестве примера численные значения представлены для MK-51):

    Разрядность (8 бит).

    Емкость внутренней памяти команд и памяти данных, возможности и пределы их расширения:

    внутренняя память команд - 4 Кбайт (в среднем команда имеет длину 2 байта, таким образом, во внутренней памяти может быть размещена программа длиной около 2000 команд); возможность наращивания за счет подключения внешней памяти до 64 Кбайт;

    память данных на кристалле 128 байт (можно подключить внешнюю память общей емкостью до 64 Кбайт).

Тактовая частота:

  • внешняя частота 12 МГц;

    частота машинного цикла 1 МГц.

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

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

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

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

Одним из первых комплектов секционированных микропроцессоров были МП БИС семейства Intel 3000. В нашей стране они выпускались в составе серии К589 и 585. Процессорные элементы этой серии представляли собой двухразрядный микропроцессор. Наиболее распространенным комплектом секционированных микропроцессоров является Am2900, основу которого составляют 4-разрядные секции. В нашей стране аналог этого комплекта выпускался в составе серии К1804. В состав комплекта входили следующие БИС:

  • разрядное секционное АЛУ;

    блок ускоренного переноса;

    разрядное секционное АЛУ с аппаратной поддержкой умножения;

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

    контроллер состояния и сдвига;

    контроллер приоритетных прерываний.

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

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

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

    Требования к синхронизации: максимальная частота, стабильность.

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

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

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

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

    Температура окружающей среды, при которой может работать схема. Здесь выделяют два диапазона:

    коммерческий (0 0 С … +70 0 С);

    расширенный (-40 0 С … +85 0 С).

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

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

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

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

Рис. 1.2. Затраты на производство микропроцессорной системы

Затраты на изготовление устройств, использующих микропроцессорные БИС, представлены на рис. 1.2. Здесь:

  1. затраты на изготовление БИС (чем больше степень интеграции элементов на кристалле, тем дороже обходится производство схемы);

    затраты на сборку и наладку микропроцессорной системы (с увеличением функциональных возможностей МП потребуется меньше схем для создания МПС);

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

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

В 1965 году Гордон Мур сформулировал гипотезу, известную в настоящее время как <закон Мура>, согласно которой каждые 1,5-2 года число транзисторов в расчете на одну интегральную схему будет удваиваться. Это обеспечивается непрерывным совершенствованием технологических процессов производства микросхем.

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

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

На второй стадии исследователи Intel выбирают наиболее перспективные направления развития новых технологий. При этом обычно рассматривается 2-3 варианта решения.

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

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

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

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

Но не сразу: сначала они переводятся на выпуск микросхем с меньшим быстродействием или с меньшим числом транзисторов, например, периферийных БИС.

Структура и особенности архитектуры микропроцессора Pentium 4

Микропроцессор Pentium 4 является завершающей моделью 32-разрядных микропроцессоров фирмы INTel с архитектурой IA-32. Основные особенности этого процессора:

    новая микроархитектура процессора NetBurst (пакетно-сетевая);

    новая системная шина FSB.

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

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

    Используется гиперконвейерная технология (Hyper-PIPelINed Technology) выполнения команд, при которой число ступеней конвейера достигает 31 (в Pentium III - 11 ступеней). Таким образом, одновременно в процессе выполнения на разных стадиях реализации может находиться свыше 30 команд.

    Используется динамическое выполнение команд (dynamic execution), построенное на трех базовых концепциях: предсказание переходов (branch prediction), динамический анализ потока данных (dynamic data flow analysis) и спекулятивное выполнение (OUT-oforder execution). Аналогичный механизм, названный Dynamic Execution, используется в МП Pentium III, однако в INTel Pentium 4 он улучшен.

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

    Кеш-память 2-го уровня емкостью 256 Кбайт размещается непосредственно на кристалле процессора, что позволяет сократить время выборки по сравнению с Pentuim III, где эта кэш-память располагается на отдельном кристалле в общем корпусе с процессором.

    Значительно расширены возможности обработки чисел по принципу SIMD в новом блоке SSE-2.

Рассмотрим эти особенности более подробно. предСтруктура МП Pentium 4

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

Любой процессор архитектуры x86 обязательно оснащен процессорной шиной. Эта шина служит каналом связи между процессором и всеми остальными устройствами в компьютере: памятью, видеокартой, жестким диском и так далее. Так, классическая схема организации внешнего интерфейса процессора предполагает, что параллельная мультиплексированная процессорная шина, которую принято называть FSB (Front Side Bus), соединяет процессор (иногда два процессора или даже больше) и контроллер, обеспечивающий доступ к оперативной памяти и внешним устройствам. Этот контроллер обычно входит в состав северного моста набора системной логики (чипсета). Для ускорения обмена с памятью в Pentium 4 используется новая реализация системной шины, обеспечивающая обмен с эквивалентной частотой 400 МГц. Такая скорость достигается путем применения нового типа сверхбыстродействующей двухканальной памяти типа RDRAM и специальной микросхемы MCH (Memory ConTRoller Hub), реализующей 4 канала передачи данных. При тактовой частоте каждого канала 100 МГц обеспечивается общая частота обмена, эквивалентная 400 МГц. Шина включает 64-разрядную двунаправленную шину данных, дающую пропускную способность в 3,2 Гбайт/с, и 36-разрядную шину адреса (33 адресных линии А35-А3 и 8 линий выбора байтов BE7-ВЕ0), что позволяет адресовать физическую память емкостью до 64 Гбайт. Именно учетверенная результирующая частота передачи данных является одним из главных предметов гордости разработчиков Pentium 4. Однако для многочисленных мелких запросов, где данные в большинстве своем умещаются в одну 64-байтную порцию (и, соответственно, не используются возможности многоканальной передачи), важнее именно частота тактирования. Последние модели Pentium 4 работают на частоте системной шины 150 МГц, что обеспечивает эквивалентную частоту FSB в 600 МГц и пропускную способность в 4,8 Гбайт/с.

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

Гарвардская внутренняя структура реализуется на уровне кэш-памяти 1-го уровня (L1) путем разделения потоков команд и данных. Кэш-память данных 1-го уровня имеет емкость 8 Кбайт. Вместо кэш-памяти команд 1-го уровня в Pentium 4 используется кэш-память для декодированных команд (микрокоманд). Execution TRace Cache - это название и одновременно способ реализации L1-кэша инструкций в архитектуре NetBurst. Смысловое содержание этого термина можно перевести как "кэш трассировки выполняемых микрокоманд". В Execution TRace Cache хранятся микрокоманды (?ops), которые были получены в результате декодирования входного потока инструкций исполняемого кода и готовы для передачи на выполнение конвейеру. Емкость Execution TRace Cache составляет 12 Кбайт.

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

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

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

Эта процедура реализуется блоком распределения регистров. Он выделяет для каждого указанного в команде логического регистра (регистра цлочисленных операндов EAX, EBX и т. д., регистра операндов с плавающей точкой ST0-ST7 или регистра блоков MMX, SSE) один из 128 физических регистров, входящих в состав блоков регистров замещения (БРЗ) целочисленного блока микропроцессора и блока обработки чисел с плавающей точкой. Эта процедура позволяет минимизировать конфликты в конвейерах и выполнять команды, использующие одни и те же логические регистры, одновременно или с изменением их последовательности.

Ступени распределения/переименования конвейера могут выпустить три микрокоманды за такт на следующую ступень конвейера.

Выбранные микрокоманды размещаются в очереди микрокоманд. В ней содержатся микрокоманды, реализующие выполнение до 120 поступивших и декодированных команд, которые затем направляются в исполнительные устройства. Отметим, что в процессорах Pentium III в очереди находятся микрокоманды для 40 поступивших команд. Значительное увеличение числа команд, стоящих в очереди, позволяет более эффективно организовать поток их исполнения, изменяя последовательность выполнения команд и выделяя команды, которые могут выполняться параллельно. Эти функции реализует блок распределения микрокоманд. Он выбирает микрокоманды из очереди не в порядке их поступления, а по мере готовности соответствующих операндов и исполнительных устройств. В результате команды, поступившие позже, могут быть выполнены до ранее выбранных команд. При этом реализуется одновременное выполнение нескольких микрокоманд (команд) в параллельно работающих исполнительных устройствах. Таким образом, естественный порядок следования команд (микрокоманд) нарушается, чтобы обеспечить более полную загрузку параллельно включенных исполнительных устройств и повысить производительность процессора.

Адреса операндов, выбираемых из памяти, вычисляются блоком формирования адреса (БФА), который реализует интерфейс с кэш-памятью данных 1-го уровня. В соответствии с заданными в декодированных командах способами адресации формируются 48 адресов для загрузки операндов из памяти в регистр БРЗ и 24 адреса для записи из регистра в память (в Pentium III формируются 16 адресов для загрузки регистров и 12 адресов для записи в память). При этом БФА формирует адреса операндов для команд, которые еще не поступили на выполнение. При обращении к памяти БФА одновременно выдает адреса двух операндов: один для загрузки операнда в заданный регистр БРЗ, второй - для пересылки результата из БРЗ в память. Таким образом реализуется процедура предварительного чтения данных для последующей их обработки в исполнительных блоках (спекулятивная выборка).

Аналогичным образом организуется параллельная работа блоков SSE, FPU, MMX, которые используют отдельный набор регистров и блок формирования адресов операндов.

При выборке операнда из памяти производится обращение к кэшпамяти данных (L1), которая имеет отдельные порты для чтения и записи. За один такт производится выборка операндов для двух команд.

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

Микрокоманды поступают в исполнительное ядро из блока распределения по 4 портам в 8 исполнительных блоков. Эти порты выполняют функцию шлюзов к функциональным устройствам. Для обработки целочисленных данных и выполнения логических операций в Pentium 4 используются 4 однотипных арифметико-логических устройства (ALU). Обработка чисел с плавающей запятой проходит в FPU. Блоки MMX и SSE предназначены для выполнения команд этих типов.

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

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

Эффективность конвейера резко снижается из-за необходимости его перезагрузки при выполнении условных ветвлений, когда требуется произвести очистку всех предыдущих ступеней и выбрать команду из другой ветви программы. Чтобы сократить потери времени, связанные с перезагрузкой конвейера, используется улучшенный блок предсказания ветвлений . Его основной частью является ассоциативная память, называемая буфером адресов ветвлений BTB, в которой хранятся 4092 адреса ранее выполненных переходов. Отметим, что в BTB процессора Pentium III хранятся адреса только 512 переходов. Кроме того, BTB содержит биты, хранящие предысторию ветвления, которые указывают, выполнялся ли переход при предыдущих выборках данной команды. При поступлении очередной команды условного перехода указанный в ней адрес сравнивается с содержимым BTB. Если этот адрес не содержится в BTB, то есть ранее не производились переходы по данному адресу, то предсказывается отсутствие ветвления. В этом случае продолжается выборка и декодирование команд, следующих за командой перехода. При совпадении указанного в команде адреса перехода с каким-либо из адресов, хранящихся в BTB, производится анализ предыстории. В процессе анализа определяется чаще всего реализуемое направление ветвления, а также выявляются чередующиеся переходы. Если предсказывается выполнение ветвления, то выбирается и загружается в конвейер команда, размещенная по предсказанному адресу. Более совершенный механизм предсказания переходов в МП Pentium 4 обеспечивает уменьшение количества ошибочно предсказанных переходов в среднем на 33 % по сравнению с Pentium III. Таким образом, резко уменьшается число перезагрузок конвейера при неправильном предсказании ветвления.

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

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

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

    короткие циклы с высокими коэффициентами повторяемости;

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

    применение алгоритмов, требующих интенсивных вычислений;

    широкое использование операций с высоким уровнем параллелизма.

Было отмечено, что в мультимедийных приложениях 80 % времени выполнения программы приходится на 10-20 % программного кода.

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

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

На устранение этих противоречий и были направлены основные усилия разработчиков технологии MMX. Процессор Pentium MMX, в котором впервые была реализована новая технология, был представлен фирмой INTel в январе 1997 года. Он позволил на 10-20 % повысить производительность на стандартных тестах, а для специализированных мультимедийных приложений - на 50 %.

Аннотация: Цель лекции: знакомство с архитектурой микропроцессоров, отличительными чертами микропроцессоров различных типов архитектуры, этапами развития архитектуры универсальных микропроцессоров, а также с основными чертами архитектуры IA-32.

Основные понятия и характеристики архитектуры микропроцессоров

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

Понятие большая интегральная схема в настоящее время четко не определено. Ранее считалось, что к этому классу следует относить микросхемы, содержащие более 1000 элементов на кристалле. И действительно, в эти параметры укладывались первые микропроцессоры. Например, 4-разрядная процессорная секция микропроцессорного комплекта К584, выпускавшегося в конце 1970-х годов, содержала около 1500 элементов. Сейчас, когда микропроцессоры содержат десятки миллионов транзисторов и их количество непрерывно увеличивается, под БИС будем понимать функционально сложную интегральную схему .

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

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

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


Рис. 1.1.

Характеристики универсальных микропроцессоров :

  • разрядность: определяется максимальной разрядностью целочисленных данных, обрабатываемых за 1 такт, то есть фактически разрядностью арифметико-логического устройства ( АЛУ );
  • виды и форматы обрабатываемых данных;
  • система команд, режимы адресации операндов;
  • емкость прямоадресуемой оперативной памяти: определяется разрядностью шины адреса ;
  • частота внешней синхронизации. Для частоты синхронизации обычно указывается ее максимально возможное значение, при котором гарантируется работоспособность схемы. Для функционально сложных схем, к которым относятся и микропроцессоры, иногда указывают также минимально возможную частоту синхронизации. Уменьшение частоты ниже этого предела может привести к отказу схемы. В то же время в тех применениях МП, где не требуется высокое быстродействие, снижение частоты синхронизации - одно из направлений энергосбережения. В ряде современных микропроцессоров при уменьшении частоты он переходит в < спящий режим >, при котором сохраняет свое состояние. Частота синхронизации в рамках одной архитектуры позволяет сравнить производительность микропроцессоров. Но разные архитектурные решения влияют на производительность гораздо больше, чем частота;
  • производительность: определяется с помощью специальных тестов, при этом совокупность тестов подбирается таким образом, чтобы они по возможности покрывали различные характеристики микроархитектуры процессоров, влияющие на производительность.

Универсальные микропроцессоры принято разделять на CISC - и RISC-микропроцессоры . CISC-микропроцессоры (Completed Instruction Set Computing - вычисления с полной системой команд) имеют в своем составе весь классический набор команд с широко развитыми режимами адресации операндов. Именно к этому классу относятся, например, микро процессоры типа Pentium . В то же время RISC-микропроцессоры ( reduced instruction set computing - вычисления с сокращенной системой команд) используют, как следует из определения, уменьшенное количество команд и режимов адресации. Здесь прежде всего следует выделить такие микропроцессоры, как Alpha 21x64, Power PC. Количество команд в системе команд - наиболее очевидное, но на сегодняшний день не самое главное различие в этих направлениях развития универсальных микропроцессоров. Другие различия мы будем рассматривать по мере изучения особенностей их архитектуры.

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

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

Отличительные особенности архитектуры однокристальных микроконтроллеров :

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

Основные характеристики микроконтроллеров (в качестве примера численные значения представлены для MK-51):

  1. Разрядность (8 бит).
  2. Емкость внутренней памяти команд и памяти данных, возможности и пределы их расширения:
    • внутренняя память команд - 4 Кбайт (в среднем команда имеет длину 2 байта, таким образом, во внутренней памяти может быть размещена программа длиной около 2000 команд); возможность наращивания за счет подключения внешней памяти до 64 Кбайт;
    • память данных на кристалле 128 байт (можно подключить внешнюю память общей емкостью до 64 Кбайт).
  3. Тактовая частота :
    • внешняя частота 12 МГц;
    • частота машинного цикла 1 МГц.
  4. Возможности взаимодействия с внешними устройствами: количество и назначение портов ввода-вывода , характеристики системы прерывания, программная поддержка взаимодействия с внешними устройствами.

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

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

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

Одним из первых комплектов секционированных микропроцессоров были МП БИС семейства Intel 3000. В нашей стране они выпускались в составе серии К589 и 585. Процессорные элементы этой серии представляли собой двухразрядный микропроцессор. Наиболее распространенным комплектом секционированных микропроцессоров является Am2900, основу которого составляют 4-разрядные секции. В нашей стране аналог этого комплекта выпускался в составе серии К1804. В состав комплекта входили следующие БИС:

  • разрядное секционное АЛУ ;
  • блок ускоренного переноса;
  • разрядное секционное АЛУ с аппаратной поддержкой умножения;
  • тип схем микропрограммного управления;
  • контроллер состояния и сдвига;
  • контроллер приоритетных прерываний .

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

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

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

  1. Требования к синхронизации: максимальная частота, стабильность.
  2. Количество и номиналы источников питания, требования к их стабильности. В настоящее время существует тенденция к уменьшению напряжения питания, что сокращает тепловыделение схемы и ведет к повышению частоты ее работы. Если первые микропроцессоры работали при напряжении питания+-15В, то сейчас отдельные схемы используют источники менее 1 В.
  3. Мощность рассеяния - это мощность потерь в выходном каскаде схемы, превращающаяся в тепло и нагревающая выходные транзисторы. Иначе говоря, она характеризует показатель тепловыделения БИС, что во многом определяет требования к конструктивному оформлению микропроцессорной системы . Эта характеристика особенно важна для встраиваемых МПС.
  4. Уровни сигналов логического нуля и логической единицы, которые связаны с номиналами источников питания.
  5. Тип корпуса - позволяет оценить пригодность схемы для работы в тех или иных условиях, а также возможность использования новой БИС в качестве замены существующей на плате.
  6. Температура окружающей среды, при которой может работать схема. Здесь выделяют два диапазона:
    • коммерческий (0 0 С … +70 0 С);
    • расширенный (-40 0 С … +85 0 С).
  7. Помехоустойчивость - определяет способность схемы выполнять свои функции при наличии помех. Помехоустойчивость оценивается интенсивностью помех, при которых нарушение функций устройства еще не превышает допустимых пределов. Чем сильнее помеха, при которой устройство остается работоспособным, тем выше его помехоустойчивость.
  8. Нагрузочная способность , или коэффициент разветвления по выходу, определяется числом схем этой же серии, входы которых могут быть присоединены к выходу данной схемы без нарушения ее работоспособности. Чем выше нагрузочная способность, тем шире логические возможности схемы и тем меньше таких микросхем необходимо для построения сложного вычислительного устройства. Однако с увеличением этого коэффициента ухудшаются помехоустойчивость и быстродействие.
  9. Надежность - это способность схемы сохранять свой уровень качества функционирования при установленных условиях за установленный период времени. Обычно характеризуется интенсивностью отказов (час-1) или средним временем наработки на отказ (час). В настоящее время этот параметр для больших инте- гральных схем обычно не указывается изготовителем. О надежности МП БИС можно судить по косвенным показателям, например, по приводимой разработчиками средств вычислительной техники надежности изделия в целом.
  10. Характеристики технологического процесса . Основной показатель здесь - разрешающая способность процесса. В настоящее время она составляет 32 нм, то есть около 30 тыс. линий на 1 мм. Более совершенный технологический процесс позволяет создать микропроцессор, обладающий большими функциональными возможностями.


Рис. 1.2.

Затраты на изготовление устройств, использующих микропроцессорные БИС, представлены на рис. 1.2 . Здесь:

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

В 1965 году Гордон Мур сформулировал гипотезу, известную в настоящее время как <закон Мура>, согласно которой каждые 1,5-2 года число транзисторов в расчете на одну интегральную схему будет удваиваться. Это обеспечивается непрерывным совершенствованием технологических процессов производства микросхем.

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

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

На второй стадии исследователи Intel выбирают наиболее перспективные направления развития новых технологий. При этом обычно рассматривается 2-3 варианта решения.

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

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

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

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

Но не сразу: сначала они переводятся на выпуск микросхем с меньшим быстродействием или с меньшим числом транзисторов , например, периферийных БИС.

Введение

1.3 Обзор существующих типов архитектур микропроцессоров

2. Устройство управления

3. Особенности программного и микропрограммного управления

4. Режимы адресации

Заключение


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

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

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

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

1. Общая характеристика архитектуры процессора

1.1 Базовая структура микропроцессорной системы

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

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

1.2 Понятие архитектуры микропроцессора

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

Рис. 1. Архитектура типового микропроцессора.

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

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

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

1. Нажать клавишу с буквой "А" на клавиатуре.

2. Поместить букву "А" в память микроЭВМ.

3. Вывести букву "А" на экран дисплея.

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

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

1. Ввести данные из порта ввода 1.

2. Запомнить данные в ячейке памяти 200.

3. Переслать данные в порт вывода 10.

В данной программе всего три команды, хотя на рис. 2 может показаться, что в памяти программ записано шесть команд. Это связано с тем, что команда обычно разбивается на части. Первая часть команды 1 в приведенной выше программе - команда ввода данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть - операндом. Код операции и операнд размещаются в отдельных ячейках памяти программ. На рис. 2 КОП хранится в ячейке 100, а код операнда - в ячейке 101 (порт 1); последний указывает откуда нужно взять информацию.

В МП на рис. 2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.


Рис. 2. Диаграмма выполнения процедуры ввода-запоминания-вывода

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

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

1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания.

2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд.

3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания.

4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1").

5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.Важно отметить, что при обработке каждой программной команды МП действует согласно микропроцедуре выборки-декодирования-исполнения.

6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания.

7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд.

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

9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована.

10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.

11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А".

12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания.

13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд.

14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.

15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд.

16. МП дешифрирует полную команду "Вывести данные в порт 10". С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.

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

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

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

Выборку команд программы из основной памяти;

Дешифрацию команд;

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

Управление пересылкой информации между регистрами и основной памятью, между устройствами ввода/вывода;

Отработку сигналов от устройств ввода/вывода, в том числе реализацию прерываний с этих устройств;

Управление и координацию работы основных узлов МП.


Существует несколько подходов к классификации микропроцессоров по типу архитектуры. Так, выделяют МП с CISC (Complete Instruction Set Computer) архитектурой, характеризуемой полным набором команд, и RISC (Reduce Instruction Set Computer) архитектурой, которая определяет систему с сокращенным набором команд одинакового формата, выполняемых за один такт МП.

Определяя в качестве основной характеристики МП разрядность, выделяют следующие типы МП архитектуры:

С фиксированной разрядностью и списком команд (однокристальные);

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

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

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

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

К данному типу архитектуры относится микропроцессор фирмы Zilog. Процессор Z80 - детище фирмы Zilog помимо расширенной системы команд, одного номинала питания и способности исполнять программы, написанные для i8080, имел архитектурные "изюминки".

Рис. 3. Микропроцессор Z80 фирмы Zilog.

В дополнение к основному набору РОН, в кристалле был реализован второй комплект аналогичных регистров. Это значительно упрощало работу при вызове подпрограмм или процедур обслуживания прерываний, поскольку программист мог использовать для них альтернативный набор регистров, избегая сохранения в стеке содержимого РОНов для основной программы с помощью операций PUSH. Кроме того, в систему команд был включен ряд специальных инструкций, ориентированных на обработку отдельных битов, а для поддержки регенерации динамической памяти в схему процессора введены соответствующие аппаратные средства. Z80 применялся в машинах Sinclair ZX, Sinclair Spectrum, Tandy TRS80.

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

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

Рис 4. Микропроцессор МС6800 фирмы Motorola.

Микропроцессор МС 6800 содержал два аккумулятора, и результат операции АЛУ мог быть помещен в любой из них. Но самым ценным качеством структуры МС 6800 было автоматическое сохранение в стеке содержимого всех регистров процессора при обработке прерываний (Z80 требовалось для этого несколько команд PUSH). Процедура восстановления РОН из стека тоже выполнялась аппаратно.

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

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

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

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

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

Разрядности адресов и данных;

Состава, имен и назначения программно-доступных регистров;

Форматов и системы команд;

Режимов адресации памяти;

Способов машинного представления данных разного типа;

Структуры адресного пространства;

Способа адресации внешних устройств и средств выполнения операций ввода/вывода;

Классов прерываний, особенностей инициирования и обработки прерываний.

2. Устройство управления

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

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

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


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

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

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

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

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

Преобразование информации выполняется в универсальном арифметико-логическом блоке микропроцессора. Он обычно строится на основе комбинационных логических схем.

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

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

В целом же, принцип микропрограммного управления (ПМУ) включает следующие позиции:

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

2) для управления порядком следования микроопераций используются логические условия;

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

4) микропрограмма используется как форма представления функции устройства, на основе которой определяются структура и порядок функционирования устройства во времени.

ПМУ обеспечивает гибкость микропроцессорной системы и позволяет осуществлять проблемную ориентацию микро- и миниЭВМ.

4. Режимы адресации

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

Режим адресации памяти - это процедура или схема преобразования адресной информации об операнде в его исполнительный адрес.

Все способы адресации памяти можно разделить на:

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

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

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

Заключение

Число персональных компьютеров как в мире, так и, в частности, в России стремительно растет; рынок ПК – самый перспективный и доходный среди остальных рынков вычислительной техники. В северной Америке и Западной Европе процент семей, имеющих ПК, приближается к 30. Без сомнения, в наши дни каждый должен изучить и понять компьютер не только теоретически, но, что наиболее важно, и практически.

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

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

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

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

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

1. Балашов Е.П., Григорьев В.Л., Петров Г.А. Микро- и миниЭВМ. – СПб.: Энергоатомиздат, 2004.

2. Еремин Е.А. Популярные лекции об устройстве компьютера. – СПб.: БХВ-Петербург, 2003.

3. Ибрагим К.Ф. Устройство и настройка ПК / Пер. с англ. – М.: Бином, 2004..

4. Косарев В.П., Сурков Е.М., Бакова И.В. Технические средства систем управления. - М.: Изд-во "Финансы и статистика", 2006.

5. Леонтьев В.П. Новейшая энциклопедия персонального компьютера 2003. – М.: ОЛМА-ПРЕСС, 2004.

6. Столлингс У. Структурная организация и архитектура компьютерных систем. – М.: Вильямс, 2002.

7. Уинн Л. Рош. Библия по модернизации персонального компьютера. – М.: Тивали-Стиль, 2005.

8. Фигурнов В.Э. IBM PC для пользователя, 6-е издание, переработанное и дополненное. – M.: ИНФРА-М, 1996.

Введение

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

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

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

Микропроцессор характеризуется:

  • 1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ;
  • 2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

Разрядностть МП обозначается m/n/k/ и включает:

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

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

k - разрядность шины адреса, определяет размер адресного пространства. Например, МП i8088 характеризуется значениями m/n/k=16/8/20;

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

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

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

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

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

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

Рис. 1.

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

Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.

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

  • 1. Нажать клавишу с буквой "А" на клавиатуре.
  • 2. Поместить букву "А" в память микроЭВМ.
  • 3. Вывести букву "А" на экран дисплея.

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

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

  • 1. Ввести данные из порта ввода 1.
  • 2. Запомнить данные в ячейке памяти 200.
  • 3. Переслать данные в порт вывода 10.

В данной программе всего три команды, хотя на рис. 2 может показаться, что в памяти программ записано шесть команд. Это связано с тем, что команда обычно разбивается на части. Первая часть команды 1 в приведенной выше программе - команда ввода данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть - операндом. Код операции и операнд размещаются в отдельных ячейках памяти программ. На рис. 2 КОП хранится в ячейке 100, а код операнда - в ячейке 101 (порт 1); последний указывает, откуда нужно взять информацию.

Рис. 2.

В МП на рис. 2 выделены еще два новых блока - регистры: аккумулятор и регистр команд.

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

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

  • 1. МП выдает адрес 100 на шину адреса. По шине управления поступает сигнал, устанавливающий память программ (конкретную микросхему) в режим считывания.
  • 2. ЗУ программ пересылает первую команду ("Ввести данные") по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует) полученную команду и определяет, что для команды нужен операнд.
  • 3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти программ в режим считывания.
  • 4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду ("Ввести данные из порта 1").
  • 5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП и запоминается.

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

  • 6. МП обращается к ячейке 102 по ША. ШУ используется для перевода памяти программ в режим считывания.
  • 7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд.
  • 8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние вход считывания микросхем памяти программ.
  • 9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд. Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти программ и декодирована.
  • 10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.
  • 11. МП направляет хранящуюся в аккумуляторе информацию в память данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А".
  • 12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания.
  • 13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд.
  • 14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.
  • 15. Из памяти программ по ШД к МП поступает код операнда "В порт 10", который далее помещается в регистр команд.
  • 16. МП дешифрирует полную команду "Вывести данные в порт 10". С помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.

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

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

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

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

Принципы микропрограммного управления

В условиях, когда микропрограммирование не используется, выполнение команды обеспечивается электрической схемой. Но в большинстве современных вычислительных машин непосредственная связь между аппаратурой и программными средствами осуществляется через микропрограммный уровень. Любая машинная команда исполняется аппаратурой не непосредственно, а путем ее интерпретации в соответственную последовательность более простых действий. А значит, всегда существует задача программирования машинных команд из более простых действий - микропрограммирование. Впервые этот термин был введен в 1953 г. специалистом по ВТ Уилксом. Но это было применимо только к аппаратным средствам. Примерно в середине 1960-х гг. усилиями разработчиков «1ВМ» идеи Уилкса превратились в принцип организации вычислительных машин.

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

Рис. 4.1.

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

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

На рис. 4.2 приведена обобщенная структура устройства управления (УУ).

Рис. 4.2.

ЦУУ - центральное УУ, которое выполняет основные функции по реализации программы.

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

ВЗУ - внешнее запоминающее устройство.

Иерархическая структура понятий при постановке задач на ЭВМ представлена на рис. 4.3.

Алгоритм - это система последовательных операций (в соответствии с определенными правилами) для решения поставленной задачи.

Программа - кодированная запись алгоритма.

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

Рис. 4.3.

Микрооперация - некоторое простейшее преобразование данных, например прием байта данных в регистр, инверсия переменной и т.д.

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

  • 1. Любая машинная команда рассматривается как некоторое сложное действие, которое состоит из последовательности элементарных действий над словами информации - микроопераций.
  • 2. Порядок следования микроопераций зависит не только от значений преобразуемых слов, но также от их информационных сигналов, вырабатываемых операционным автоматом. Примерами таких сигналов могут быть признаки результата операции, значения отдельных битов данных и т.п.
  • 3. Процесс выполнения машиной команды описывается в виде некоторого алгоритма в терминах микроопераций и логических условий. Описание информационных сигналов - микропрограмма.
  • 4. Микропрограмма служит не только для обработки данных, но и обеспечивает управление работой всего устройства в целом - принцип микропрограммного управления.

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

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

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

Связь с микрокодом и архитектурой

набора команд

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

Архитектура набора команд (англ, instruction set architecture, ISA) определяет программируемую часть ядра микропроцессора.

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

  • конструкция и взаимосвязь основных блоков центрального процессора;
  • структура ядер, исполнительных устройств, АЛУ, а также их взаимодействия;
  • блоки предсказания переходов;
  • организация конвейеров;
  • организация кэш-памяти;
  • взаимодействие с внешними устройствами.

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

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

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

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

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

Рассмотрим построение команд для восьмиразрядного процессора, построенного по структуре фон-Неймана. Примеры построения команд для такого процессора приведены на рис. 4.4.

Однобайтовая команда Двухбайтовая команда

Трехбайтовая команда

Четырехбайтовая команда

Рис. 4.4. Форматы различных команд микропроцессора

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

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

Листинг 4.1

Фрагмент исполняемого кода микропроцессора

7 5CBFF75CAFB75CDFF75CCFB75985275 С 8 3 4D2 8875D2 4А7 5 D3 2075D50175330E 75345975A60175A11375D13230DFFD20 892 9E5DB9 533C2D712 О 0F8E5DA9 534С2 D712 О 0F8E5DD12 О 0F8E5DC12 00F89001 181200D8B2B41200CF80CEC289E5DB94

Чтобы уменьшить объем запоминаемой информации и увеличить наглядность исходного текста программы, каждой операции процессора придумывают мнемоническое обозначение. В качестве мнемонического обозначения операции обычно используют сокращения английских слов, обозначающих эту операцию. Например, для операции копирования используется мнемоническое обозначение MOV ; для операции суммирования используется мнемоническое обозначение ADD ; для операции вычитания используется мнемоническое обозначение SUB для операции умножения используется мнемоническое обозначение MUL и т.д.

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

  • MOV R0, А Скопировать содержимое регистра А в регистр R0;
  • ADDA , R5 Просуммировать содержимое регистров R5 и А, результат поместить в регистр А.

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

  • MOV А, 1025; Скопировать содержимое 1025 ячейки памяти в регистр Л;
  • ADD А, #110; Просуммировать содержимое регистра А с числом ПО.

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

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

Основные направления развития микропроцессоров

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

  • 1) чтение инструкции и ее декодирование;
  • 2) поиск всех связанных данных, необходимых для обработки инструкции;
  • 3) обработка инструкции;
  • 4) запись результатов.

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

В настоящее время существуют два направления развития микропроцессоров:

  • RISC -процессоры (процессоры с сокращенным набором команд);
  • С/5С-процессоры (процессоры с полным набором команд).

RISC (Reduced Instruction Set

Computers) используют сравнительно небольшой (сокращенный) набор наиболее употребляемых команд, определенный в результате статистического анализа большого числа программ для основных областей применения С/5С-процессоров исходной архитектуры. Все команды работают с операндами и имеют одинаковый формат. Обращение к памяти выполняется с помощью специальных команд загрузки регистра и записи. Простота структуры и небольшой набор команд позволяют реализовать полностью их аппаратное выполнение и эффективный конвейер при небольшом объеме оборудования. Арифметику /?/5С-процессоров отличает высокая степень дробления конвейера. Этот прием позволяет увеличить тактовую частоту (а значит, и производительность) компьютера. Чем более элементарные действия выполняются в каждой фазе работы конвейера, тем выше частота его работы. /?/5С-процессоры с самого начала ориентированы на реализацию всех возможностей ускорения арифметических операций, поэтому их конвейеры обладают значительно более высоким быстродействием, чем в С/5С-процессорах. Поэтому RISC- процессоры в 2-4 раза быстрее имеющих ту же тактовую частоту С/АС-процессоров с обычной системой команд и более высокопроизводительны, несмотря на больший размер программ. RISC- архитектура построена на четырех основных принципах.

  • 1. Любая операция должна выполняться за один такт вне зависимости от ее типа.
  • 2. Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.
  • 3. Операции обработки данных реализуются только в формате «регистр-регистр» (операнды выбираются из оперативных регистров процессора, и результат операции записывается также в регистр, а обмен между оперативными регистрами и памятью выполняется только с помощью команд загрузки/записи).
  • 4. Состав системы команд должен быть удобен для компиляции операторов языков высокого уровня.

Усложнение /?/5С-процессоров фактически приближает их архитектуру к С/АС-архитектуре.

В настоящее время число процессоров с /?/5С-архитектурой существенно возросло и все ведущие фирмы США их производят, в том числе фирмы «Intel», «Motorola» - производители основных семейств процессоров с С/5С-архитектурой.

Микропроцессоры с архитектурой CISC (Complex Instruction Set Computers - архитектура вычислений с полной системой команд) реализуют на уровне машинного языка комплексные наборы команд различной сложности - от простых, характерных для микропроцес-

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

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

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

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

В качестве примера внутреннего устройства микропроцессора рассмотрим устройство процессора с полным набором команд. Здесь будет рассматриваться упрощенная модель процессора для облегчения понимания работы. СУ^С-микропроцессор состоит из двух частей:

  • обрабатывающего блока;
  • блока микропрограммного управления.

Блок обработки микропроцессора (операционный блок)

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

В этой схеме явно просматривается, что отдельные биты микрокоманды (показанной внизу схемы) управляют различными блоками обработки сигналов (БОС), поэтому их можно рассматривать независимо друг от друга. Такие группы бит называются полями микрокоманды и составляют формат этой микрокоманды. Кроме бит, управляющих блоком обработки сигналов, есть биты, управляющие блоком микропрограммного управления. Формат микрокоманды рассматриваемого процессора приведен на рис. 4.6. Результат выполнения микрокоманды записывается по сигналу общей синхронизации сб к.


CONST AS BS K,PI,M RS Z,C,OV,N

Рис. 4.5. Операционный блок микропроцессора

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

Для хранения и декодирования выполняемой команды выделим 8-разрядный регистр, который назовем RI.

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

Так как мы выбрали для примера 8-разрядный микропроцессор, то и все регистры в этом процессоре 8-разрядные. Максимальное число, которое можно записать в такой регистр, - 255, но для большинства программ такого объема памяти недостаточно. В приведенной на рис. 4.5 схеме, для того чтобы получить 16-разрядный адрес, используется два 8-разрядных регистра адреса. Теперь максимальное число, которое можно записать в этих двух регистрах, будет 65535, что вполне достаточно для записи программ и обрабатываемых ими данных. Для того чтобы различать регистр старшего и младшего байта адреса, обозначим их как РСН - старший байт и PCL - младший байт. Это позволяет при помощи 8-разрядного АЛУ формировать 16-разрядный адрес.

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

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

Рис. 4.6. Формат регистра управления (СЯ )

Блок микропрограммного управления предназначен для формирования последовательности микрокоманд блока обработки сигналов. В простейшем случае его можно построить на счетчике с возможностью предзаписи и ПЗУ. Схема такого блока приведена на рис. 4.7.


Рис. 4.7.

В этой схеме адрес очередной микрокоманды формирует двоичный счетчик. Если требуется осуществить безусловный или условный переход, то новый адрес записывается из ПЗУ в этот счетчик, как в обычный параллельный регистр по сигналу параллельной записи VI. Переход к следующему адресу микрокоманды производится по сигналу общей синхронизации СЬК (рис. 4.8).

Управление БОС (26 бит)

Управление БМУ

Рис. 4.8. Формат микрокоманды процессора

Микропрограммирование процессора

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

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


Рис. 4.9.

Любую временную диаграмму формирует микропроцессор. Устройство микросхемы, на примере которой мы будем формировать

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

Работа любого цифрового устройства начинается с заранее заданных начальных условий. Эти начальные условия формируются специальным сигналом RESET (сброс), который формируется после подачи питания на схему. Договоримся, что сигнал сброса микропроцессора будет записывать в регистр программного счетчика PC нулевое значение. (Это условие справедливо не для всех процессоров. Например, IBM-совместимые процессоры при сбросе микросхемы записывают в программный счетчик значение Я)000 /г)

Выполнение любой команды начинается с ее считывания из системной памяти (ОЗУ или ПЗУ). Необходимые для этого микрокоманды подаются на входы управления БОС из блока микропрограммного управления (БМУ), как только снимается сигнал сброса со счетчика микрокоманд БМУ. При считывании однобайтной команды достаточно считать из системной памяти только код операции и выполнить эту операцию. Временная диаграмма этого процесса приведена на рис. 4.10. Последовательность операций, которые необходимо выполнить микропрограмме, показана стрелочками. Для считывания следующей команды микропрограмма запускается заново.


Рис. 4.10.

Для того чтобы считать код операции из системной памяти, необходимо выставить на шине адреса адрес этой команды. Этот адрес хранится в счетчике команд РС. Скопируем его в регистр адреса ЯЛ, выходы которого подключены к шине адреса.

Затем сформируем сигнал считывания. Для этого в регистр управления запишем константу 1111 1101.

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

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

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

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

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

Описание

Поля микрокоманды БОС

Источник

Источник

РСН -»RAH

PCL RAL

const -> CR

data -> R1

const -> CR

PCL + 1 -> PCL

PCH + C^ PCH

Теперь считаем второй байт адреса перехода.

В результате выполнения этой микропрограммы в программный счетчик будет загружен адрес, записанный во втором и третьем байтах команды безусловного перехода ЛМР 1234. Временная диаграмма, формируемая рассмотренной микропрограммой, приведена на рис. 4.11.




Загрузка...