Какая компьютерная архитектура совмещает в одном устройстве память данных и память программ
Под организациейпонимают состав компонентов (аппаратных или программных средств), связи между ними и их функциональные характеристики.
ЭВМ имеет многоуровневую иерархическую организацию со своими составными компонентами на каждом уровне:
Все компоненты микропроцессорной системы представляются для процессора в виде набора ячеек памяти или портов ввода/вывода, которые образуют два основных пространства: соответственно пространство памяти и пространство ввода/вывода.
Дальнейшее совершенствование архитектур обоих типов состояло в выделении специального пространства данных небольшого объема, которое представляет собой набор программно-доступных регистров (Register Space). В отличие от памяти и портов ввода/вывода регистры располагаются всегда внутри МП вместе с АЛУ, что обеспечивает быстрый физический доступ к информации, хранящейся в них. В некоторые интервалы времени программа наиболее интенсивно работает лишь с небольшим объемом данных. Для временного хранения этих данных и предназначена регистровая область – набор программно доступных регистров.
Регистровая область может быть как полностью изолирована от пространства данных DS, так и частично пересекаться с ним, что дает возможность рассматривать отдельные регистры МП как обычные ячейки памяти данных. Такая организация является целесообразной, если в МП поддерживается быстрый доступ ко всей или хотя бы к некоторой части памяти данных.
Все современные МП имеют регистровые области независимо от того, к какому типу они принадлежат: принстонскому или гарвардскому. Внутренняя логическая организация регистровой области очень разнообразна и зависит от типа МП. Функциональная структура регистровой области будет рассмотрена позже. Пока отметим в ее составе лишь один регистр, который называется программным счетчиком PC (Program Counter). Данный регистр является обязательным для всех МП и связан с адресацией памяти программ. Он служит указателем следующего элемента программной последовательности, подлежащего выборке и исполнению.
Пространство ввода/вывода представляет набор адресуемых буферных схем и регистров, которые называются портами и через которые осуществляется связь с внешними и внутренними аппаратными средствами микропроцессорной системы.
В микропроцессорной системе может использоваться два варианта организации пространства ввода-вывода:
- изолированный ввод-вывод. Порты ввода/вывода размещены в специальном пространстве ввода/вывода (Input/Output Space – IOS), изолированном от других пространств данных. В этом случае МП имеет специальный набор команд ввода/вывода.
- совмещенный ввод-вывод или ввод-вывод с отображением на память. В этом случае изолированное пространство ввода/вывода отсутствует, а в пространстве памяти данных DS выделяются области, в которых размещаются порты. Организация доступа к портам в такой микропроцессорной системе ничем не отличается от процесса обращения к данным в памяти.
На рис. 4 представлены четыре типовых набора областей для хранения программ и данных. Стрелками показан процесс изоляции отдельных областей, приводящий к появлению нового типового набора. Все наборы существуют реально, каждый имеет свои преимущества и недостатки, учет которых позволяет создавать высокоэффективные системы различного назначения.
Рис. 4 – Области микропроцессора для хранения программ и данных
Организация пространства памяти показана на рис. 5. При этом память изображается таким образом, чтобы ячейки со старшими адресами располагались ниже, чем с младшими. Нумерация отдельных разрядов в ячейке производится справа налево начиная с нуля, при этом разряд с нулевым номером является младшим.
Рис. 5 - Организация пространства памяти
Часто организация памяти предусматривает определенные ограничения на возможное расположение многобайтовых объектов. Например, слова в памяти могут находиться только по четным адресам. Тогда при доступе к слову значение младшего разряда его адреса, указывающего на байт в слове, во внимание не принимается, т.е. такая память имеет границу слов.
Например, в МП 8086 любые два смежных байта в памяти могут рассматриваться как 16-разрядное слово. Таким образом, слова данных можно свободно размещать по любому адресу, что позволяет экономить память благодаря её плотной упаковки. Однако для экономии времени выполнения программы целесообразно размещать слова данных в памяти по четным адресам, так как МП передает такие слова за один цикл шины. Слова с нечетными адресами (не выровненные) также допустимы, но для их передачи требуется уже два цикла шины, что снижает производительность МП. Особенно важно иметь выровненные слова для операций со стеком, так как в них участвуют только слова. Поэтому указатель стека SP необходимо всегда инициализировать на четный адрес. Команды в МП 8086 всегда выбираются словами по четным адресам, за исключением первой выборки после передачи управления по нечетному адресу, когда выбирается один байт. Поток команд разделяется на байты внутри МП, так что выравнивание команд не влияет на производительность и поэтому не используется.
В процессорах фирмы Intel, начиная с 486, на уровне привилегий 3 может быть включен контроль выравнивания операндов по соответствующей границе: слова по четному адресу, двойного слова по адресу, кратному четырем, учетверенного слова по адресу, кратному восьми. На уровнях привилегий 0, 1, 2 контроль выравнивания не производится.
Рассмотренная организация памяти соответствует нижнему (физическому) уровню представления памяти. Пространство ввода-вывода имеет такую же организацию. Существует более высокий (логический) уровень организации памяти, на котором работает программист и который связан с архитектурой процессораже.
Магистрально-модульный принцип организации микропроцессорной системы.Большинство современных микропроцессорных систем построено по магистрально-модулъному принципу. В соответствии с этим принципом память и подсистема ввода/вывода выполняются в виде отдельных функционально законченных модулей, которые подключаются к единой внутрисистемной магистрали.
В подсистеме памяти выделяют модули постоянных запоминающих устройств (ПЗУ), которые используются для хранения программ и констант, модули оперативных запоминающих устройств (ОЗУ), предназначенных для хранения переменных и загружаемого извне программ.
В составе подсистемы ВВ в простейшем случае выделяются адресуемые МП буферные схемы и регистры – порты ввода/вывода. Они предназначены для связи с простыми внешними устройствами, такими как светодиодные индикаторы, переключатели и т.п. Более сложные модули подсистемы ввода/вывода, предназначенные для управления внешним интерфейсным оборудованием и реализации специальных функций ввода/вывода, строятся на основе портов ввод/вывод и называются адаптерами или контроллерами периферийных устройств.
Наиболее сложными из модулей подсистемы ввода/вывода являются процессоры (сопроцессоры) ввода/вывода, которые работают по собственным программам, хранящимся в памяти, и по сути дела представляют собой отдельные микропроцессорные системы.
В зависимости от способа подключения отдельных модулей микропроцессорной системы к системной магистрали различают три типовые структуры микропроцессорных систем:
В магистральной структуре все модули подсистем памяти и ввода/вывода подключаются непосредственно к системной магистрали. Это наиболее простая структура. Недостатками магистральной структуры являются:
- все модули должны поддерживать протокол обмена по системной магистрали и содержать средства сопряжения с ней, которые в зависимости от микропроцессора могут быть достаточно сложными;
- небольшое быстродействие, т.к. медленные периферийные устройства могут надолго занимать системную магистраль.
В магистрально-каскадной и магистрально-радиальной структурах отдельные модули подключаются с помощью специальных контроллеров (адаптеров) шин, основное назначение которых – реализовать приоритетные соотношения при использовании магистрали.
В магистрально-каскадной структуре отдельные модули подключаются к контроллеру шины с помощью дополнительного общего канала, например, магистрали или шины ввода/вывода, т.е. по магистральной схеме. В магистрально-радиальной структуре каждый модуль подключается к контроллеру шины с помощью индивидуального канала, т.е. по радиальной схеме.
Архитектура с иерархией шин.В настоящее время примерно одинаковое распространение получили два способа построения вычислительных машин: с непосредственными связями и на основе шины.
В системах, построенных по первому способу, между взаимодействующими устройствами (процессор, память, устройство ввода/вывода) имеются непосредственные связи. Особенности связей (число линий в шинах, пропускная способность и т.п.) определяются видом информации, характером и интенсивностью обмена. Достоинством архитектуры с непосредственными связями можно считать возможность развязки узких мест путем улучшения структуры и характеристик только определенных связей, что экономически может быть наиболее выгодным решением. У фон-неймановских ЭВМ таким узким местом является канал пересылки данных между процессором и памятью, и развязать его достаточно непросто. Кроме того, системы с непосредственными связями плохо поддаются реконфигурации.
В варианте с общей шиной все устройства вычислительной машины подключаются к системной магистрали, служащей единственным трактом для потоков команд, данных и управления. Наличие общей шины существенно упрощает реализацию ЭВМ, позволяет легко менять состав и конфигурацию машины. Благодаря этим свойствам шинная архитектура получила широкое распространение в микроЭВМ. Вместе с тем, именно с шиной связан и основной недостаток архитектуры: в каждый момент передавать информацию по шине может только одно устройство. Основную нагрузку на шину создают обмены между процессором и памятью, связанные с извлечением из памяти команд и данных и записью в память результатов вычислений. На операции ввода/вывода остается лишь часть пропускной способности шины. Практика показывает, что даже при достаточно быстрой шине для 90% приложений этих остаточных ресурсов обычно не хватает, особенно в случае ввода или вывода больших массивов данных.
Поэтому при сохранении фон-неймановской концепции последовательного выполнения команд программы шинная архитектура в чистом ее виде оказывается недостаточно эффективной. Более распространена архитектура с иерархией шин, где помимо системной шины имеется еще несколько дополнительных шин. Они могут обеспечивать непосредственную связь между устройствами с наиболее интенсивным обменом, например процессором и кэш-памятью. Другой вариант использования дополнительных шин – объединение однотипных устройств ввода/вывода с последующим выходом с дополнительной шины на системную. Это позволяет снизить нагрузку на общую шину и более эффективно расходовать ее пропускную способность. Наибольшее распространение получили микропроцессорные системы с одной шиной, с двумя или тремя видами шин.
В структурах с одной шиной имеется одна системная шина, обеспечивающая обмен информацией между процессором и памятью, а также между устройствами ввода/вывода, с одной стороны, и процессором либо памятью – с другой. Для такого подхода характерны простота и низкая стоимость. Однако одношинная организация не в состоянии обеспечить высокую скорость обмена, причем узким местом становится именно шина.
Хотя контроллеры устройств ввода/вывода могут быть подсоединены непосредственно к системной шине, больший эффект достигается применением одной или нескольких шин ввода/вывода. Устройства ввода/вывода подключаются к шинам ввода/вывода, которые берут на себя основной обмен, не связанный с выходом на процессор или память. Подключение осуществляется с помощью адаптеров шин, которые обеспечивают буферизацию данных при их пересылке между системной шиной и контроллерами устройств ввода/вывода. Это позволяет микропроцессорной системе поддерживать работу множества устройств ввода/вывода и одновременно развязать обмен информацией по тракту процессор-память и обмен информацией с устройствами ввода/вывода. Подобная схема существенно снижает нагрузку на скоростную шину процессор-память и способствует повышению общей производительности микропроцессорной системы.
Для подключения быстродействующих периферийных устройств в систему шин может быть добавлена высокоскоростная шина расширения. Шины ввода/вывода подключаются к шине расширения, а уже с нее через адаптер к шине процессор-память. Схема еще более снижает нагрузку на шину процессор-память. Такую организацию шин называют архитектурой с «пристройкой» (mezzanine architecture).
Магистраль микропроцессорной системы. Стандартная структура шины. Трехшинная магистраль с раздельными шинами передачи адреса и данных. Совмещение шины адреса и шины данных. Циклы обращения к магистрали. Временные диаграммы работы шины. Организация обращения к магистрали с синхронным и асинхронным доступом.
В общем случае магистраль микропроцессорной системы состоит из набора шин. Шиной системы называют физическую группу линий передачи сигналов, имеющих схожие функции в рамках системы. Стандартная структура магистрали микропроцессорной системы включает три шины (рис. 6):
- шина данных DB (Data Bus);
- шина адреса (адресная шина) AB (Address Bus);
- шина управления CB (Control Bus).
Магистраль такого типа называется трехшинной с раздельными шинами передачи адреса и данных.
Рис. 6 – Стандартная структура магистрали микропроцессорной системы
Шина адреса.Используется для передачи физического адреса ячейки памяти или порта ввода/вывода, к которым осуществляется обращение. Эта шина предназначена для того, чтобы выбирать правильный тракт для электрического соединения в пределах микропроцессорной системы. Шина адреса является выходной по отношению к МП. Разрядность адресной шины определяет наибольшее число адресов, к которым может обращаться МП. Если разрядность адресной шины МП равна m, то он способен адресовать пространство физической памяти и пространство ввода/вывода объемом 2 m .
1) синхросигнал обеспечивает тактирование работы микропроцессора. Все события в системе привязываются к какому-либо фронту этого сигнала;
2) четность данных. Сигналы на этих двунаправленных линиях определяют четность данных, передаваемых по шине данных. Как правило, на каждый байт шины данных отводится отдельный сигнал. Внутренний модуль генерации/контроля четности данных микропроцессора формирует или проверяет сигналы четности. Четность понимается в том смысле, что соответствующий байт содержит четное количество единичных разрядов. Значения сигналов на этих линиях не влияет на ход выполнения программы. При обнаружении ошибки четности при вводе данных МП либо формирует специальный управляющий сигнал либо генерирует внутреннее прерывание;
3) сигналы определения цикла магистрали указывают тип выполняемого цикла магистрали. Они разделяют циклы записи и циклы чтения, циклы данных и циклы управления, циклы обращения к памяти и циклы ввода/вывода, а также некоторые другие;
4) сигналы управления магистралью определяют начало цикла магистрали, позволяют другим устройствам системы управлять передачей и разрядностью данных, завершением цикла магистрали;
5) сигналы управления состоянием процессора изменяют состояние МП в ходе выполнения или перед выполнением программы. Это необходимо для распределения функций управления магистралью между несколькими активными устройствами, при обработке прерываний, сбросе и инициализации.
Различают Принстонскую и Гарвардскую архитектуру вычислительных машин. Эти архитектурные варианты были предложены в конце 40-х годов специалистами, соответственно, Принстонского и Гарвардского университетов США для разрабатываемых ими моделей компьютеров.
Принстонская архитектура
Принстонская архитектура , которая часто называется архитектурой фон Неймана , характеризуется использованием общей оперативной памяти для хранения программ, данных, а также для организации стека. Для обращения к этой памяти используется общая системная шина, по которой в процессор поступают и команды, и данные.
Архитектура современных персональных компьютеров основана на
магистрально-модульном принципе .
Любую вычислительную машину образуют три основные компонента:
- процессор,
- память,
- устройства ввода-вывода (УВВ).
Информационная связь между устройствами компьютера осуществляется через системную шину (системную магистраль).
Шина – это кабель, состоящий из множества проводников. Количество проводников, входящих в состав шины, является
максимальной разрядностью шины .
Системная шина, в свою очередь, представляет собой совокупность
- шины данных, служащей для переноса информации;
- шины адреса, которая определяет, куда переносить информацию;
- шины управления, которая определяет правила для передачи информации;
- шины питания, подводящей электропитание ко всем узлам вычислительной машины.
Системная шина характеризуется тактовой частотой и разрядностью. Количество одновременно передаваемых по шине бит называется
разрядностью шины .
Тактовая частота характеризует число элементарных операций по передаче данных в 1 секунду. Разрядность шины измеряется в битах, тактовая частота – в мегагерцах.
Устройство управления (УУ) формирует адрес команды, которая должна быть выполнена в данном цикле, и выдает управляющий сигнал на чтение содержимого соответствующей ячейки запоминающего устройства (ЗУ). Считанная команда передается в УУ. По информации, содержащейся в адресных полях команды, УУ формирует адреса операндов и управляющие сигналы для их чтения из ЗУ и передачи в арифметико-логическое устройство (АЛУ). После считывания операндов устройство управления по коду операции, содержащемуся в команде, выдает в АЛУ сигналы на выполнение операции. Полученный результат записывается в ЗУ по адресу приемника результата под управлением сигналов записи. Признаки результата (знак, наличие переполнения, признак нуля и так далее) поступают в устройство управления, где записываются в специальный регистр признаков. Эта информация может использоваться при выполнении следующих команд программы, например команд условного перехода.
Устройство ввода позволяет ввести программу решения задачи и исходные данные в ЭВМ и поместить их в оперативную память. В зависимости от типа устройства ввода исходные данные для решения задачи вводятся непосредственно с клавиатуры, либо они должны быть предварительно помещены на какой-либо носитель (дисковый накопитель).
Устройство вывода служит для вывода из ЭВМ результатов обработки исходной информации. Чаще всего это символьная информация, которая выводится с помощью печатающих устройств или на экран дисплея.
Запоминающее устройство или память – это совокупность ячеек, предназначенных для хранения некоторого кода. Каждой из ячеек присвоен свой номер, называемый адресом . Информацией, записанной в ячейке, могут быть как команды в машинном виде, так и данные.
Обработка данных и команд осуществляется посредством арифметико-логического устройства (АЛУ), предназначенного для непосредственного выполнения машинных команд под действием устройства управления. АЛУ и УУ совместно образуют центральное процессорное устройство (ЦПУ). Результаты обработки передаются в память.
Основные принципы построения вычислительных машин с архитектурой фон Неймана
- Принцип двоичности. Для представления данных и команд используется двоичная система счисления.
- Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором друг за другом в определённой последовательности.
- Принцип однородности памяти. Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления, чаще всего – двоичной). Над командами можно выполнять такие же действия, как и над данными.
- Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек, процессору в произвольный момент времени доступна любая ячейка.
- Принцип последовательного программного управления. Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.
- Принцип условного перехода. Команды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода (а также команд вызова функций и обработки прерываний), которые изменяют последовательность выполнения команд в зависимости от значений данных. Этот принцип был сформулирован задолго до фон Неймана Адой Лавлейс и Чарльзом Бэббиджем, однако был логически включен в указанный набор как дополняющий предыдущий принцип.
Архитектура фон Неймана имеет ряд важных достоинств.
- Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд, данных и реализации стека в зависимости от решаемых задач. Таким образом, обеспечивается возможность более эффективного использования имеющегося объема оперативной памяти в каждом конкретном случае применения.
- Использование общей шины для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность.
Поэтому Принстонская архитектура в течение долгого времени доминировала в вычислительной технике.
Однако ей присущи и существенные недостатки. Основным из них является необходимость последовательной выборки команд и обрабатываемых данных по общей системной шине. При этом общая шина становится «узким местом» (bottleneck – «бутылочное горло»), которое ограничивает производительность цифровой системы.
Гарвардская архитектура
Гарвардская архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете с целью увеличить скорость выполнения вычислительных операций и оптимизировать работу памяти. Она характеризуется физическим разделением памяти команд (программ) и памяти данных. В ее оригинальном варианте использовался также отдельный стек для хранения содержимого программного счетчика, который обеспечивал возможности выполнения вложенных подпрограмм. Каждая память соединяется с процессором отдельной шиной, что позволяет одновременно с чтением-записью данных при выполнении текущей команды производить выборку и декодирование следующей команды. Благодаря такому разделению потоков команд и данных и совмещению операций их выборки реализуется более высокая производительность, чем при использовании Принстонской архитектуры.
Недостатки Гарвардской архитектуры связаны с необходимостью проведения большего числа шин, а также с фиксированным объемом памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому приходится использовать память большего объема, коэффициент использования которой при решении разнообразных задач оказывается более низким, чем в системах с Принстонской архитектурой. Однако развитие микроэлектронной технологии позволило в значительной степени преодолеть указанные недостатки, поэтому Гарвардская архитектура широко применяется во внутренней структуре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства микропроцессорных систем реализуются принципы Принстонской архитектуры.
В рамках как совместно используемой, так и распределенной памяти реализуется несколько моделей архитектур системы памяти.
Классификация моделей архитектур памяти вычислительных систем
На этом рисунке приведена классификация таких моделей, применяемых в вычислительных системах класса MIMD (верна и для класса SIMD).
Модели архитектур совместно используемой памяти
В системах с общей памятью все процессоры имеют равные возможности по доступу к единому адресному пространству. Единая память может быть построена как одноблочная или по модульному принципу, но обычно практикуется второй вариант.
Вычислительные системы с общей памятью, где доступ любого процессора к памяти производится единообразно и занимает одинаковое время, называют системами с однородным доступом к памяти и обозначают аббревиатурой UMA (Uniform Memory Access). Это наиболее распространенная архитектура памяти параллельных ВС с общей памятью.
Технически UMА-системы предполагают наличие узла, соединяющего каждый из n процессоров с каждым из m модулей памяти. Простейший путь построения таких ВС - объединение нескольких процессоров (P) с единой памятью (Mp) посредством общей шины - показан на рисунке ниже (а). В этом случае, однако, в каждый момент времени обмен по шине может вести только один из процессоров, то есть процессоры должны соперничать за доступ к шине. Когда процессор Рi, выбирает из памяти команду, остальные процессоры Pj (i не равно j) должны ожидать, пока шина освободится. Если в систему входят только два процессора, они в состоянии работать с производительностью, близкой к максимальной, поскольку их доступ к шине можно чередовать; пока один процессор декодирует и выполняет команду, другой вправе использовать шину для выборки из памяти следующей команды. Однако когда добавляется третий процессор, производительность начинает падать. При наличии на шине десяти процессоров кривая быстродействия шины (рисунок ниже - в) становится горизонтальной, так что добавление 11-го процессора уже не дает повышения производительности. Нижняя кривая на этом рисунке иллюстрирует тот факт, что память и шина обладают фиксированной пропускной способностью, определяемой комбинацией длительности цикла памяти и протоколом шины, и в многопроцессорной системе с общей шиной эта пропускная способность распределена между несколькими процессорами. Если длительность цикла процессора больше по сравнению с циклом памяти, к шине можно подключать много процессоров. Однако фактически процессор обычно намного быстрее памяти, поэтому данная схема широкого применения не находит.
а — объединение процессоров с помощью шины;
б — система с локальными кэшами;
в — производительность системы как функция от числа процессоров на Шине;
г — многопроцессорная ВС с общей памятью, состоящей из отдельных модулей.
Альтернативный способ построения многопроцессорной ВС, с общей памятью на основе UMA показан на рисунке выше (г). Здесь шина заменена коммутатором, маршрутизирующим запросы процессора к одному из нескольких модулей памяти. Несмотря на то что имеется несколько модулей памяти, все они входят в единое виртуальное адресное пространство. Преимущество такого подхода в том, что коммутатор в состоянии параллельно обслуживать несколько запросов. Каждый процессор может быть соединен со своим модулем памяти и иметь доступ к нему на максимально допустимой скорости. Соперничество между процессорами может возникнуть при попытке одновременного доступа к одному и тому же модулю памяти, В этом случае доступ получает только один процессор, а прочие — блокируются.
К сожалению, архитектура UMA не очень хорошо масштабируется. Наиболее распространенные системы содержат 4-8 процессоров, значительно реже 32-64 процессора. Кроме того, подобные системы нельзя отнести к отказоустойчивым, так как отказ одного процессора или модуля памяти влечет отказ всей ВС.
Другим подходом к построению ВС с общей памятью является неоднородный доступ к памяти, обозначаемый как NUMA (Non-Uniform Memory Access). Здесь по-прежнему фигурирует единое адресное пространство, но каждый процессор имеет локальную память. Доступ процессора к собственной Локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть. Такая система может быть дополнена глобальной памятью, тогда локальные запоминающие устройства играют роль быстрой кэш-памяти для глобальной памяти. Подобная схема может улучшить производительность ВС, но не в состоянии неограниченно отсрочить выравнивание прямой производительности. При наличии у каждого процессора локальной кэш-памяти (рисунок выше - б) существует высокая вероятность (р > 0,9) того, что нужные команда или данные уже находятся в локальной памяти. Разумная вероятность попадания в локальную память существенно уменьшает число обращений процессора к глобальной памяти и, таким образом, ведет к повышению эффективности. Место излома кривой производительности (верхняя кривая на рисунке выше - в), соответствующее точке, в которой добавление процессоров еще остается эффективным, теперь перемещается в область 20 процессоров, а точка, где кривая становится горизонтальной, в область 30 процессоров.
В рамках концепции NUMA реализуется несколько различных подходов, обозначаемых аббревиатурами СОМА, CC-NUMA и NCC-NUMA.
В архитектуре только с кэш-памятью (СОМА, Cache Only Memory Architecture) локальная память каждого процессора построена как большая кэш-память для быстрого доступа со стороны «своего» процессора. Кэши всех процессоров в совокупности рассматриваются как глобальная память системы. Собственно глобальная память отсутствует. Принципиальная особенность концепции СОМА выражается в динамике. Здесь данные не привязаны статически к определенному модулю памяти и не имеют уникального адреса, остающегося неизменным в течение всего времени существования переменной. В архитектуре СОМА данные переносятся в кэш-память того процессора, который последним их запросил, при этом переменная не фиксирована уникальным адресом и в каждый момент времени может размещаться в любой физической ячейке. Перенос данных из одного локального кэша в другой не требует участия в этом процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью. Для организации такого режима используют так называемые каталоги кэшей. Отметим также, что последняя копия элемента данных никогда из кэш-памяти не удаляется.
Поскольку в архитектуре СОМА данные перемещаются в локальную кэш-память процессора-владельца, такие ВС в плане производительности обладают существенным преимуществом над другими архитектурами NUMА. С другой стороны, если единственная переменная или две различные переменные, хранящиеся в одной строке одного и того же кэша, требуются двум процессорам, эта строка кэша должна перемещаться между процессорами туда и обратно при каждом доступе к данным. Такие эффекты могут зависеть от деталей распределения памяти и приводить к непредсказуемым ситуациям.
Отличие модели с кэш-некогерентным доступом к неоднородной памяти (NCC-NUMA, Non-Cache Coherent Non-Uniform Memory Architecture) от CC-NUMA очевидно из названия. Архитектура памяти предполагает единое адресное пространство, но не обеспечивает согласованности глобальных данных на аппаратном уровне. Управление использованием таких данных полностью возлагается на программное обеспечение (приложения или компиляторы). Несмотря на это обстоятельство, представляющееся недостатком архитектуры, она оказывается весьма полезной при повышении производительности вычислительных систем с архитектурой памяти типа DSM, рассматриваемой в разделе «Модели архитектур распределенной памяти».
В целом, ВС с общей памятью, построенные по схеме NUMA, называют архитектурами с виртуалъной общей памятью (virtual shared memory architectures). Данный вид архитектуры, в частности CC-NUMA, в последнее время рассматривается как самостоятельный и довольно перспективный вид вычислительных систем класса MIMD, поэтому такие ВС ниже будут обсуждены более подробно.
Модели архитектур распределенной памяти:
Подобная организация характеризуется рядом достоинств. Во-первых, при доступе к данным не возникает конкуренции за шину или коммутаторы — каждый процессор может полностью использовать полосу пропускания тракта связи с собственной локальной памятью. Во-вторых, отсутствие общей шины означает, что нет и связанных с этим ограничений на число процессоров: размер системы ограничивает только сеть, объединяющая процессоры. В-третьих, снимается проблема когерентности кэш-памяти. Каждый процессор вправе самостоятельно менять свои данные, не заботясь о согласовании копий данных в собственной локальной кэш-памяти с кэшами других процессоров.
Вычислительная система с распределенной памятью:
а - процессорный элемент;
б - объединение процессорных элементов
Разница между фон Нейманом и гарвардской архитектурой: архитектура фон Неймана была разработана известным физиком и математиком Джоном фон Нейманом в конце 1940-х годов, а архитектура Гарварда была основана на оригинальном релейном компьютере Harvard Mark I.
Оригинальная гарвардская архитектура использовалась для хранения инструкций на перфоленте и данных в электромеханических счетчиках. Архитектура фон Неймана составляет основу современных вычислений и проще в реализации. В этой статье рассматриваются две компьютерные архитектуры в отдельности и объясняется разница между ними.
Архитектура фон Неймана
Архитектура фон Неймана это не что иное, как искусство хранения электронного компьютера. Это совсем не новая концепция, она существует уже давно, и мы следуем принципу этой архитектуры фон Неймана. Если мы вернемся в историю, совершенно очевидно, что архитектура фон Неймана была впервые опубликована в отчете Джона фон Неймана 30 июня 1945 года, и с тех пор тот же принцип применяется для хранения электронных компьютеров.
Применение и функции
Архитектура фон Неймана нашла широкое применение в повседневной жизни. Имея в виду широкое применение, архитектура фон Неймана была введена в качестве предмета в образовательной степени. Начиная с третьего семестра студенты инженерных специальностей будут изучать этот предмет в своей учебной программе. Архитектура фон Неймана состоит из некоторых важных функций, и здесь мы подробно остановимся на них.
Память: Все мы знаем, что фон Нейман - это не что иное, как компьютер с функцией хранения данных. В архитектуре фон Неймана память играет жизненно важную роль и считается одной из важных особенностей. В основном это отвечает как за хранение, так и за запуск данных и данных программирования. В наши дни это было заменено ОЗУ, и теперь мы используем ОЗУ для этой цели.
Устройство управления: Это подразделение в основном отвечает за аспект управления. Все данные хранятся в памяти и во время обработки данных блок управления играет роль и управляет потоком данных. Фактически, если быть более типичным, это «По одному». Блок управления следует принципу One At A Time и, соответственно, обрабатывает все данные.
Ввод, вывод: Как и все электронные устройства, архитектура фон Неймана также имеет архитектуру ввода / вывода. Это основная функция та же, и ничего особенно не было разработано для архитектуры ввода и вывода. С помощью устройства ввода и вывода человек может общаться с устройством.
ALU: ALU или арифметическая логическая единица имеет большое значение в архитектуре фон Неймана. Этот ALU будет выполнять любое сложение, вычитание, умножение и деление данных. В дополнение к этому, ALU будет выполнять любые другие алгоритмические функции и действия. Это основной аспект архитектуры фон Неймана, о котором вы должны знать.
Гарвард Архитектура
Гарвардская архитектура не что иное, как своего рода хранилище данных. Когда дело доходит до физического хранения данных, Гарвардская архитектура всегда стояла на первом месте. Хотя эта концепция не нова, архитектура Гарварда получила огромную признательность от всех. Релейный компьютер Harvard Mark I - это термин, из которого впервые возникла концепция архитектуры Гарварда, а затем произошли значительные изменения в этой архитектуре. Основная функция этой архитектуры - разделить физическое хранение данных и предоставить пути прохождения сигналов для инструкций и данных.
Применение и функции
Он нашел широкое применение в продуктах для обработки аудио и видео, и с каждым инструментом обработки аудио и видео вы заметите присутствие архитектуры Havard. Процессоры Blackfin от Analog Devices, Inc. - это конкретное устройство, в котором они получили самое широкое применение. В других продуктах на основе электронных чипов также широко используется архитектура Havard.
Состояние памяти
В предыдущей архитектуре мы наблюдали наличие двух воспоминаний. Однако в случае Гарвардский архитектуры, вы не найдете двух памяти и будет одна память. Имеющаяся память сможет выполнять все функции. Да, будет только постоянная память, и эта память будет использоваться для чтения, кодирования, декодирования и хранения данных.
Аспект скорости
Много говорилось о Гарвардский архитектура, но без скорости никакая архитектура не может быть принята. Но в случае архитектуры Havard производители разработали архитектуру таким образом, чтобы она могла обрабатывать данные с гораздо более высокой скоростью. Да, все внимание было уделено тому, чтобы архитектура могла обрабатывать данные с высокой скоростью.
Реализуя ту же формулу, современные ЦП производятся так, чтобы новый ЦП мог работать с гораздо более высокой скоростью, а также мог эффективно обрабатывать данные. Концепция кеш-памяти ЦП также реализуется при разработке архитектуры Гарварда.
Особенности архитектуры фон Неймана
- Архитектура фон Неймана - это теоретический проект, основанный на концепции компьютера с хранимой программой.
- Архитектура фон Неймана имеет только одну шину, которая используется как для извлечения инструкций, так и для передачи данных. Что еще более важно, операции должны быть запланированы, потому что они не могут быть выполнены одновременно.
- В архитектуре фон Неймана процессору потребовалось бы два тактовых цикла для выполнения инструкции.
- Архитектура фон Неймана обычно используется буквально на всех машинах, от настольных компьютеров, ноутбуков, высокопроизводительных компьютеров до рабочих станций.
Особенности Гарвардской Архитектуры
- Гарвардская архитектура - это современная компьютерная архитектура, основанная на компьютерной модели ретранслятора Harvard Mark I.
- Гарвардская архитектура имеет отдельное пространство памяти для инструкций и данных, которое физически разделяет сигналы и код хранения и память данных, что, в свою очередь, позволяет получить доступ к каждой из систем памяти одновременно.
- В гарвардской архитектуре процессор может выполнить инструкцию за один цикл, если были установлены соответствующие планы конвейерной обработки.
- Гарвардская архитектура - это новая концепция, используемая специально в микроконтроллерах и цифровой обработке сигналов (DSP).
- Гарвардская архитектура - сложный вид архитектуры, поскольку в ней используются две шины для команд и данных, что делает разработку блока управления сравнительно более дорогой.
Разница между фон Нейман и Гарвардской архитектуры
Точка сравнения | Гарвард Архитектура | Архитектура фон Неймана |
Соглашение | В гарвардской архитектуре ЦП связан как с памятью данных (RAM), так и с памятью программ (ROM), отдельно. | В архитектуре фон Неймана нет отдельной памяти данных и программ. Вместо этого, одно соединение памяти предоставляется ЦПУ. |
требования к оборудованию | Для этого требуется больше оборудования, поскольку для каждой памяти потребуются отдельные данные и адресная шина. | В отличие от архитектуры Гарварда, для этого требуется меньше оборудования, так как требуется только общая память. |
требования к свободному пространству | Это требует больше места. | Архитектура фон Неймана требует меньше места. |
Скорость исполнения | Скорость выполнения выше, потому что процессор извлекает данные и инструкции одновременно. | Скорость выполнения ниже, поскольку он не может одновременно получать данные и инструкции. |
Использование пространства | Это приводит к неэффективной трате пространства, поскольку, если в памяти данных остается пространство, память инструкций не может использовать пространство памяти данных, и наоборот. | Пространство не тратится впустую, потому что пространство памяти данных может использоваться памятью инструкций и наоборот. |
Если вам понравилась эта статья, подпишитесь на вашу электронную почту для связанных материалов. Благодарю.
CSN Team.
=> ПОСЛЕДУЮЩИЕ США НА INSTAGRAM | FACEBOOK & TWITTER ПОСЛЕДНИЕ ОБНОВЛЕНИЯ
Читайте также: