Смекни!
smekni.com

1. 1 "Фон-Неймановские" и "не-Фон-Неймановские" архитектуры (стр. 3 из 10)

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

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

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

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

Большие ЭВМ предыдущих поколений не имели большой сверхоперативной памяти, поэтому они имели достаточно сложную систему команд CISC (Complete Instruction Set Computing - вычисления с полной системой команд). В этих машинах большую долю команд составили команды типа "память-память", в которых операнды и результаты операций находились в оперативной памяти. Время обращения к памяти и время вычислений соотносились примерно 5:1. В RISC - машинах с большой сверхоперативной памятью большой удельный вес составляют операции "регистр-регистр" и отношение времени обращения к памяти по времени вычислений составляет 2:1.

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

Другой модификацией классической структуры ЭВМ является VLIW (Very Large Instruction Word) - ЭВМ с "очень длинным командным словом". ЭВМ этого типа выбирает из памяти суперкоманду, включающую несколько команд. Здесь возможны варианты. В самом простом случае это приводит к появлению буфера команд (кэш-команд) с целью ускорения конвейера операций. В более сложных случаях в состав суперкоманд стараются включать параллельные команды, не связанные общими данными. Если процессор ЭВМ при этом построен из функционально независимых устройств (устройства алгебраического сложения, умножения, сопроцессоры), то в этом случае обеспечивается максимальный эффект работы ЭВМ. Но это направление связано с кардинальной перестройкой процессоров трансляции и исполнения программ. Здесь значительно усложняются средства автоматизации программирования.

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

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

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

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

К типу МКОД — "много потоков команд — один поток данных" (MISD — "Multiple Instruction — Single Data") принято относить векторный конвейер (обычно в составе ВС, чтобы подчеркнуть основной используемый принцип вычислений), например, в составе ВС Crey-1, "Электроника ССБИС". На векторном конвейере производится последовательная обработка одного потока данных многими обрабатывающими устройствами (ступенями, станциями) конвейера.

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

Принцип обработки показан на рис. 1.2.3.


Рис. 1.2.3. ВС типа МКОД (MISD)

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

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

Тип МКМД — "много потоков команд — много потоков данных" (MIMD — "Multiple Instruction — Multiple Data") cоответствует более полному и независимому распараллеливанию. К этому типу относятся, например, все многопроцессорные вычислительные комплексы (МВК) семейства "Эльбрус".

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

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

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

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

Рисунок 1.2.4. Типовые структуры ВС в МКМД (MIMD)

Появление мощных микропроцессоров типа "Pentium" привело к экспериментам по созданию многопроцессорных систем на их основе. Так, для включения мощных серверов в локальные сети персональных компьютеров была предложена несколько измененная структура использования ООП - SMP (Share Memory multiProcessing - мультипроцессирование с разделением памяти). На общей шине оперативной памяти можно комплексировать до четырех микропроцессоров

1.3 Системы с общей и распределенной памятью

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