Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Ошибки
  • Особенности архитектуры современных мп. Архитектура микропроцессоров: основные виды, развитие, достоинства и недостатки

Особенности архитектуры современных мп. Архитектура микропроцессоров: основные виды, развитие, достоинства и недостатки

Упрощенная внутренняя архитектура типового 8-разрядного микропроцессора показана на рисунке 3. В структуре микропроцессора можно выделить три основных части:

1) Регистры для временного хранения команд, данных и адресов;

2) Арифметико-логическое устройство (АЛУ) , которое реализует арифметические и ло-гические операции;

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

Рисунок 3 - Упрощенная внутренняя архитектура 8-разрядного микропроцессора

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

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

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

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

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

Регистр команды содержит текущий командный байт, который декодируется дешифратором команды.

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

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

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



Лидирующими компаниями по разработке и изготовлению процессоров являются Intel и AMD.

18. Перспективы развития микропроцессорных систем.

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

Современный уровень развития микропроцессорной техники достиг такого уровня что, в течение 5 лет происходит смена двух-трех поколений микропроцессоров. По прогнозам аналитиков к 2012 году число транзисторов в микропроцессоре достигнет 1 млрд., тактовая частота возрастет до 10 ГГц, а производительность достигнет 100 млрд. оп/с.

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

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

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

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

Понятие микропроцессора

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

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

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

Степень интеграции схем (в ГОСТе):

Интегральная схема с низкой степенью интеграции <10 транзисторов;

Схема со средней степенью интеграции < 100 транзисторов;

Большая интегральная схема (БИС) > 100 транзисторов (~ 1000 транзисторов)

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

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

Типы архитектур микропроцессоров

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

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

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

Универсальные микропроцессоры

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

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

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

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

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

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

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

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

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

Особенности архитектуры современных МП

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

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

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

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

Выделяют понятия:

Микроархитектура;

Макроархитектура

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

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

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

1. По количеству обрабатываемых потоков данных

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

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

К третьему классу МП, выделяемых по данному признаку классификации, можно отнести мультипроцессорные системы с архитектурой MIMD (Multiple Instruction-Multiple Data). Такая архитектура обрабатывает одновременно много потоков данных множеством потоков команд.

2. По решаемым задачам:

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

Регистровая архитектура микропроцессора (архитектура типа «регистр регистр») − определяет наличие достаточно большого регистрового файла внутри БИС микропроцессора. Этот файл образует поле памяти с произвольной записью и выборкой информации. Микропроцессоры с регистровой архитектурой имеют высокую эффективность решения научно-технических задач. Это связано с высокой скоростью работы сверхоперативного ОЗУ (СОЗУ), которое позволяет эффективно использовать скоростные возможности арифметико-логического блока. Однако при переходе к решению задач управления эффективность таких микропроцессоров падает, так как при переключениях программ необходимо разгружать и загружать регистры СОЗУ.

Стековая архитектура микропроцессора − дает возможность создать поле памяти с упорядоченной последовательностью записи и выборки информации. Эта архитектура эффективна для организации работы с подпрограммами, что необходимо для решения сложных задач управления, или при работе с языками высокого уровня. Хранение адресов возврата позволяет организовать в стеке эффективную обработку последовательностей вложенных подпрограмм. Однако стек на кристалле микропроцессора с малой информационной емкостью быстро переполняется, а стек большой емкости требует значительных ресурсов. Реализация стека в ОЗУ решает эти проблемы.

Архитектура микропроцессора, ориентированная на оперативную память (архитектура типа «память память») − обеспечивает высокую скорость работы и большую информационную емкость рабочих регистров и стека при их организации в ОЗУ. Эта архитектура отнесена к типу «память память», поскольку в МП с такой архитектурой все обрабатываемые числа после операции в микропроцессоре вновь возвращаются в память, а не хранятся в рабочих регистрах.

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

3. По типу обрабатываемых команд.

По типу обрабатываемых команд выделяют два класса - RISC (Reduce Instruction Set Computer) архитектура МП с скоращенным набором команд и CISC (Complete Instruction Set Computer) архитектура МП с расширенным набором команд . К этому признаку можно отнести и архитектуру EPIC (Explicitly Parallel Instruction Computing) - архитектуру с вычислениями с явным параллелизмом команд.

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

Основными чертами RISC-концепции являются:

– одинаковая длина команд;

– одинаковый формат команд;

– операндами команд могут быть только регистры;

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



– наличие большого количества регистров общего назначения (РОН) (РОН могут быть использованы любой командой);

– наличие конвейеров;

– выполнение команды не дольше, чем за один такт;

– простая адресация.

К RISC процессорам относятся процессоры архитектуры MIPS, SPARC, PowerPC, DEC Alpha, HP PA-RISC, Intel 960, AMD 29000 и др.

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

В отличии от RISC-процессоров, в CISC-процессорах, как правило, команды имеют много разных форматов и требуют для своего представления различного числа ячеек памяти. Это обусловливает определение типа команды в ходе ее дешифрации при исполнении, и, в целом, усложняет устройство управления процессора и препятствует повышению тактовой частоты до уровня, достижимого в RISC-процессорах на той же элементной базе. В наборе команд CISC часто присутствуют, например, команды организации циклов, команды вызова подпрограммы и возврата из подпрограммы, сложная адресация, позволяющая реализовать одной командой доступ к сложным структурам данных. Основной недостаток CISC - большая сложность реализации процессора при малой производительности. Примеры CISC процессоров - семейство Motorola 680x0 и процессоры фирмы Intel от 8086 до Pentium 4.

Несмотря на указанные недостатки, в настоящее время на рынке МП доминируют CISC-процессоры. Это связано с тем, что развитие микропроцессоров происходит при постоянном стремлении сохранения преемственности программного обеспечения (ПО).

Однако, сохранение преемственности ПО и существующее требование повышения производительности МП противоречат друг другу. Для разрешения данного противоречия ведущими производителями МП была реализована успешная попытка решения проблемы повышения производительности в рамках CISC-архитектуры. Сохраняя преемственность по системе команд с CISC-микропроцессорами, разработчики создали новые устройства с использованием элементов RISC-архитектуры. В микропроцессор встраивается аппаратный транслятор, превращающий команды CISC-микропроцессора в команды внутреннего RISC-процессора. При этом одна команда из сложного набора может порождать до четырех команд RISC-процессора. Характерным примером таких «смешанных» МП являются последние МП фирмы AMD и фирмы Intel.

В настоящее время, по заявлениям разработчиков - фирм Intel и Hewlett-Packard, архитектурой той же значимости, что CISC и RISC является EPIC архитектура.

Особенностями EPIC архитектуры являются:

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

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

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

К процессорам с EPIC-архитектурой относят Merced, работы над которым вела фирма Intel и McKinley, который разрабатывался в HP.

4. По виду исполняемых команд.

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

Классификация по данному признаку находит своё обоснование по типу исполняемых команд. Если входными операндами команды МП и её результат являются целочисленные операнды или операнды с плавающей точкой (скаляры) то такой МП относят к классу скалярных МП . При этом в МП предусмотрено более одного конвейера, позволяющего одновременно выполнять более одной разной инструкции (команды). Впервые реализована в МП Pentium (2 конвейера из 5 стадий каждый), у МП Pentium Prо уже 3 конвейера.

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

5. По возможности параллельной обработки данных.

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

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

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

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

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

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

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

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

Рис. 12.1 Структура суперскалярного микропроцессора

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

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

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

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

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

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

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

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

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

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

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

6. По виду используемой памяти (по количеству используемых шин).

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

Одношинная или Принстонская архитектура – архитектура с общей, единой шиной для данных и команд, а значит и одна общая память как для данных, так и для команд (рис. 12.2).

Рис. 12.2. Архитектура с общей шиной данных и команд.

Двухшинная или Гарвардская архитектура отличается наличием отдельной памяти данных и отдельной памяти команд со своими шинами (рис. 12.3).

Рис. 12.3. Архитектура с раздельными шинами данных и команд.

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

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

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

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

Рис. 12.4. Супергарвардская архитектура (SHARC).

7. По производителю

По производителю можно выделить следующие основные классы МП:

· Микропроцессоры с архитектурой х86:

- МП компании Intel : i8086, i80286, i80386, i80486, линия Pentium (Р5), Pentium Pro (Р6) и процессоры на его основе Pentium II, Pentium III, Pentium 4 (и их упрощённый вариант Celeron), Pentium М и другие разновидности этих МП, Merced (P7) и усовершенствованные модели IA-64;

- МП компании NexGen: модели линейки Nx586, Nx686 и другие модели, выпущенные совместно с компанией AMD;

- МП компании AMD: К5, К6 (K6-II), K7 (линия Athlon (Duron)), семейство Hammer;

- МП компании Cyrix : 5х86, 6х86, 6х86МХ, и модели WinChip, WinChip2, VIA Cyrix III после слияния с компанией VIA; ;

- МП компании Transmeta: семейство Crusoe – ТМ3120, ТМ 5400, ТМ 8000 и др.;

· Микропроцессоры с архитектурой Power PC:

- МП компании Motorola и IBM : Power PC 603, 604, 620, 750/740 (G3), G4, G5, Power PC 970, Power 3, Power 4;

· Микропроцессоры с архитектурой Alpha:

- МП компании DEC: линия Alpha (21064, 21164, 21264, 21364 (компании HP)).

· Микропроцессоры с архитектурой SPARC:

- МП компании Sun Microsystems: линия SPARC (Micro SPARC, Super SPARC, Hiper SPARC и 64-разрядный МП Ultra SPARC).

· Микропроцессоры с архитектурой MAJC:

- МП компании Sun: линия MAJC (MAJC5200, MAJC5200+)

· Микропроцессоры с архитектурой PA:

- МП компании HP: PA-8000, PA-8500, PA-8700, PA-8800 (Mako), PA-8900.

· Микропроцессоры с архитектурой MIPS

- МП компании Silicon Graphics: линия MIPS R-x(R10000, R12000, R14000, R16000, R18000, R20000).

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


2. Тенденции развития современных МП

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

Введение

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", который далее помещается в регистр команд.

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

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

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

Рис.14 Типовая структурная схема МП

Каждый микропроцессор имеет свой внутренний язык, называемый множеством микрокоманд или составом команд – это набор команд, которые понимает и может выполнять данный микропроцессор.

В течение каждого цикла команды ЦП выполняет много управляющих функций:

1) помещает адрес команды в адресную шину памяти;

2) получает команду из шины ввода данных и дешифрирует ее;

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

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

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

6) генерирует сигналы состояния, управления и времени, которые необходимы для нормальной работы УВВ и памяти.

Таким образом, ЦП является «мозгом», определяющим действия ЭВМ.

Рис.15 Цикл команды процессора

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

- Процессор со сложным набором инструкций , англ. CISC - Complex Instruction Set Computer . Эту архитектуру характеризует большое количество сложных инструкций, и как следствие сложное устройство управления. В ранних вариантах CISC-процессоров и процессоров для встроенных приложений характерны большие времена исполнения инструкций (от нескольких тактов до сотни), определяемые микрокодом устройства управления. Для высокопроизводительных суперскалярных процессоров свойственны глубокий анализ программы, внеочередное исполнение операций.


- Процессор с упрощённым набором инструкций , англ. RISC - Reduced Instruction Set Computer . В этой архитектуре значительно более простое устройство управления. Большинство инструкций RISC-процессора содержат одинаковое малое число операций (1, иногда 2-3), а сами командные слова в подавляющем числе случаев имеют одинаковую ширину (PowerPC, ARM), хотя бывают исключения (Coldfire). У суперскалярных процессоров - простейшая группировка инструкций без изменения порядка исполнения.

- Процессор с явным параллелизмом , англ. EPIC - Explicitly Parallel Instruction Computer (-ing , термин ® Intel, HP). Отличается от прочих прежде всего тем, что последовательность и параллельность исполнения операций и их распределение по функциональным устройствам явно определены программой. Такие процессоры могут обладать большим количеством функциональных устройств без особого усложнения устройства управления и потерь эффективности. Обычно такие процессоры используют широкое командное слово, состоящее из нескольких слогов, определяющих поведение каждого функционального устройства в течение такта.

- Процессор с минимальным набором инструкций , англ. MISC - Minimal Instruction Set Computer . Эта архитектура определяется прежде всего сверхмалым количеством инструкций (несколько десятков), и почти все они нуль-операндные. Такой подход даёт возможность очень плотно упаковать код, выделив под одну инструкцию от 5 до 8 бит. Промежуточные данные в таком процессоре обычно хранятся на внутреннем стеке, и операции производятся над значениям на вершине стека. Эта архитектура тесно связана с идеологией программирования на языке Forth и обычно используется для исполнения программ, написанных на этом языке.

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

- Транспорт-управляемый процессор , англ. TTA - Transort Triggered Architecture . Архитектура изначально ответвилась от EPIC, но принципиально отличающаяся от остальных тем, что инструкции такого процессора кодируют функциональные операции, а так называемые транспорты - пересылки данных между функциональными устройствами и памятью в произвольном порядке.

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

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

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

По организации регистрового файла ФУ можно выделить следующие типы процессоров.

- Регистровая архитектура - характеризуется свободным доступом к регистрам для выборки всех аргументов и записи результата. Элементарны арифметико-логические операции в таких процессорах кодируются в двух-, или трёхоперандные инструкции (регистр+регистр→регистр, иногда регистр результата совпадает с источником одного из агрументов).

- Аккумуляторная архитектура - из регистров выделяется один из несколько регистров-аккумуляторов. Регистр-аккумулятор является источником одного из аргументов и приёмником результата вычислений. Операции кодируются как правило в однооперандные инструкции (аккумулятор+операнд→аккумулятор). Такая архитектура характерная для многих CISC-процессоров (напр. Z80).

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

Лучшие статьи по теме