Основные типы архитектур микропроцессорных систем. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода-вывода. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные типы архитектур микропроцессорных систем. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода-вывода.



 

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

ЭВМ имеет многоуровневую иерархическую организацию со своими составными компонентами на каждом уровне:

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

2) уровень реализуемых в ЭВМ функций − логическая (функциональная) организация (представляется в виде функциональной схемы);

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

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

Фон-неймановская (принстонская) и гарвардская архитектуры. В большинстве современных микропроцессорных систем для хранения программ и данных используется общая шина памяти. Такая организация получила название архитектуры Дж. фон Неймана, предложившего кодирование программ в формате, соответствующем формату данных. ЭВМ с такой архитектурой называют машинами фон-неймановского или принстонского типа. В них области для хранения программ (Program Space – PS) и данных (Data Space – DS) образуют единое пространство и могут размещаться в любом месте общей памяти. При этом нет никаких признаков, указывающих на тип информации в ячейке памяти. Содержимое ячейки интерпретируется ЦП, и задача программиста − следить за тем, чтобы данные и программа обрабатывались по-разному. Фон-неймановская архитектура характерна для универсальных МП.

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

Дальнейшее совершенствование архитектур обоих типов состояло в выделении специального пространства данных небольшого объема, которое представляет собой набор программно-доступных регистров (Register Space). В отличие от памяти и портов ввода/вывода регистры располагаются всегда внутри МП вместе с АЛУ, что обеспечивает быстрый физический доступ к информации, хранящейся в них. В некоторые интервалы времени программа наиболее интенсивно работает лишь с небольшим объемом данных. Для временного хранения этих данных и предназначена регистровая область – набор программно доступных регистров.

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

Все современные МП имеют регистровые области независимо от того, к какому типу они принадлежат: принстонскому или гарвардскому. Внутренняя логическая организация регистровой области очень разнообразна и зависит от типа МП. Функциональная структура регистровой области будет рассмотрена позже. Пока отметим в ее составе лишь один регистр, который называется программным счетчиком PC (Program Counter). Данный регистр является обязательным для всех МП и связан с адресацией памяти программ. Он служит указателем следующего элемента программной последовательности, подлежащего выборке и исполнению.

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

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

- изолированный ввод-вывод. Порты ввода/вывода размещены в специальном пространстве ввода/вывода (Input/Output Space – IOS), изолированном от других пространств данных. В этом случае МП имеет специальный набор команд ввода/вывода.

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

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

В отличие от регистровой области пространства памяти программ PS и данных DS, а также область ввода-вывода IOS организованы проще. Память представляет собой линейно упорядоченный набор n-разрядных ячеек с произвольным доступом (одномерный массив) − линейная память. Все ячейки пронумерованы, таким образом каждой ячейке набора соответствует число, называемое ее адресом. Все адреса занимают целочисленный диапазон от 0 до 2m-1 (m − разрядность адреса), который образует адресное пространство памяти. В большинстве случаев процессор может адресоваться к памяти с точностью до одного байта, т.е. наименьшей адресуемой единицей является байт и память имеет байтовую организацию.

Рис. 4 – Области микропроцессора для хранения программ и данных

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

Рис. 5 - Организация пространства памяти

Программные объекты (команды и операнды) могут иметь длину, превышающую один байт, например, два байта – 16-разрядное слово или просто слово, четыре байта – 32-разрядное слово или двойное слово, восемь байтов – 64-разрядное слово или учетверенное слово. Такие объекты располагаются в смежных ячейках пространства памяти, причем обычно младший байт размещается в ячейке с меньшим адресом. Адресом объекта служит наименьший из адресов ячеек, занимаемых им, т.е. в данном случае адрес его младшего байта. Такой порядок называется Little-Endian Memory Format. Он используется в микропроцессорах с архитектурой x86. В других семействах процессоров применяют и обратный порядок – Big-Endian Memory Format, в котором объекты располагаются в смежных ячейках памяти, начиная со старшего байта, а младшие байты размещаются в последующих ячейках (например, в микроконтроллерах семейства 68HC11 фирмы Motorola). В этом случае адресом объекта является адрес его старшего байта. Для взаимного преобразования форматов объектов в процессорах имеются специальные команды. Операция обращения к памяти предполагает считывание или запись всего объекта как единого целого. Например, 16-разрядные слова в памяти хранятся в двух соседних ячейках. Старший байт слова занимает ячейку с большим адресом, а младший − ячейку с меньшим адресом. При этом адрес младшего байта служит адресом слова (см. рис. 5).

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

Например, в МП 8086 любые два смежных байта в памяти могут рассматриваться как 16-разрядное слово. Таким образом, слова данных можно свободно размещать по любому адресу, что позволяет экономить память благодаря её плотной упаковки. Однако для экономии времени выполнения программы целесообразно размещать слова данных в памяти по четным адресам, так как МП передает такие слова за один цикл шины. Слова с нечетными адресами (не выровненные) также допустимы, но для их передачи требуется уже два цикла шины, что снижает производительность МП. Особенно важно иметь выровненные слова для операций со стеком, так как в них участвуют только слова. Поэтому указатель стека SP необходимо всегда инициализировать на четный адрес. Команды в МП 8086 всегда выбираются словами по четным адресам, за исключением первой выборки после передачи управления по нечетному адресу, когда выбирается один байт. Поток команд разделяется на байты внутри МП, так что выравнивание команд не влияет на производительность и поэтому не используется.

В процессорах фирмы Intel, начиная с 486, на уровне привилегий 3 может быть включен контроль выравнивания операндов по соответствующей границе: слова по четному адресу, двойного слова по адресу, кратному четырем, учетверенного слова по адресу, кратному восьми. На уровнях привилегий 0, 1, 2 контроль выравнивания не производится.

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

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

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

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

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

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

- магистральная;

- магистрально-каскадная;

- магистрально-радиальная.

В магистральной структуре все модули подсистем памяти и ввода/вывода подключаются непосредственно к системной магистрали. Это наиболее простая структура. Недостатками магистральной структуры являются:

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

- небольшое быстродействие, т.к. медленные периферийные устройства могут надолго занимать системную магистраль.

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

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

Архитектура с иерархией шин. В настоящее время примерно одинаковое распространение получили два способа построения вычислительных машин: с непосредственными связями и на основе шины.

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

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

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

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

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

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


 

Магистраль микропроцессорной системы. Стандартная структура шины. Трехшинная магистраль с раздельными шинами передачи адреса и данных. Совмещение шины адреса и шины данных. Циклы обращения к магистрали. Временные диаграммы работы шины. Организация обращения к магистрали с синхронным и асинхронным доступом.

 

На физическом уровне МП взаимодействует с памятью и периферийными устройствами через единый набор системных шин − внутрисистемную магистраль. Физическое совмещение линий связи МП с памятью и периферийными устройствами было необходимым в связи с технологической особенностью производства БИС – ограниченным числом физических выводов, допустимых на кристалле. До середины 80-х годов стандартная микропроцессорная БИС имела 40 выводов, через которые необходимо было связываться как с памятью, так и с периферийными устройствами. В общем случае магистраль обеспечивает три вида передачи данных:

- процессор ↔ память;

- процессор ↔ интерфейс периферийного устройства;

- память ↔ интерфейс периферийного устройства (канал прямого доступа к памяти).

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

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

- шина данных DB (Data Bus);

- шина адреса (адресная шина) AB (Address Bus);

- шина управления CB (Control Bus).

Магистраль такого типа называется трехшинной с раздельными шинами передачи адреса и данных.

Рис. 6 – Стандартная структура магистрали микропроцессорной системы

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

Обычно разрядность шины данных и длину слов, обрабатываемых в МП (разрядность машинного слова МП), выбирают одинаковыми. Однако в ряде случаев разрядность шины данных может быть меньше или больше разрядности машинного слова МП. Например, в микропроцессоре 8088 длина машинного слова составляет 16 разрядов, а шина данных 8-разрядная, и наоборот, МП Pentium является 32-разрядным процессором, его шина данных 64-разрядная.

Шина адреса. Используется для передачи физического адреса ячейки памяти или порта ввода/вывода, к которым осуществляется обращение. Эта шина предназначена для того, чтобы выбирать правильный тракт для электрического соединения в пределах микропроцессорной системы. Шина адреса является выходной по отношению к МП. Разрядность адресной шины определяет наибольшее число адресов, к которым может обращаться МП. Если разрядность адресной шины МП равна m, то он способен адресовать пространство физической памяти и пространство ввода/вывода объемом 2m.

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

1) синхросигнал обеспечивает тактирование работы микропроцессора. Все события в системе привязываются к какому-либо фронту этого сигнала;

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 738; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.12.172 (0.029 с.)