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



ЗНАЕТЕ ЛИ ВЫ?

По необходимости поддержания постоянного соединения

Поиск

· Пакетная сеть, например, Фидонет и UUCP

· Онлайновая сеть, например, Интернет и GSM

56. Архитектура ВС.

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

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

Согласно этой классификации существует четыре основных ар­хитектуры ВС, представленных на рис. 11.3:

• одиночный поток команд — одиночный поток данных (ОКОД), в английском варианте — SingleInstructionSingleData(SISD) — оди­ночный поток инструкций — одиночный поток данных;

• одиночный поток команд — множественный поток данных (ОКМД), или SingleInstructionMultipleData(SIMD) — одиночный поток инструкций — одиночный поток данных;

• множественный поток команд — одиночный поток данных (МКОД), или MultipleInstructionSingleData(MISD) — множественный по­ток инструкций — одиночный поток данных;

• множественный поток команд — множественный поток данных (МКМД), или MultipleInstructionMultipleData(MIMD) — множе­ственный поток инструкций — множественный поток данных (MIMD).

Коротко рассмотрим отличительные особенности каждой из архи­тектур.

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

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

По этой схеме строились системы: первая суперЭВМ — ILLIAC-IV, отечественные параллельные системы — ПС-2000, ПС-3000. Идея векторной обработки широко использовалась в таких известных су­перЭВМ, какCyber-205 иGray-I,II,III. Узким местом подобных сис­тем является необходимость изменения коммутации между процессо­рами, когда связь между ними отличается от матричной. Кроме того, задачи, допускающие широкий матричный параллелизм, составляют достаточно узкий класс задач. Структуры ВС этого типа, по суще­ству, являются структурами специализированных суперЭВМ.

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

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

Архитектура МКМД предполагает, что все процессоры систе­мы работают по своим программам с собственным потоком команд. В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется на многих круп­ных вычислительных центрах для увеличения пропускной способно­сти центра. Больший интерес представляет возможность согласован­ной работы ЭВМ (процессоров), когда каждый элемент делает часть общей задачи. Общая теоретическая база такого вида работ прак­тически отсутствует. Но можно привести примеры большой эффективности этой модели вычислений. Подобные системы могут быть многомашинными и многопроцессорными. Например, отече­ственный проект машины динамической архитектуры (МДА) — ЕС-2704, ЕС-2127 позволял одновременно использовать сотни про­цессоров.

 

57. Типовые структуры ВС.

Универсальной структуры вычислительной системы, одинаково хорошо обрабатывающей задачи любого типа, не существует. Инте­ресные результаты исследований по этим вопросам даны в работах [14, 19, 20]. В них приведены сопоставления различных видов программ­ного параллелизма и соответствующих им структур вычислительных систем.

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

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

Рассмотрим возможные структуры вычислительных систем, кото­рые обеспечивают перечисленные виды программного параллелизма.

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

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

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

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

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

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

Большие ЭВМ предыдущих поколений не имели большой сверхо­перативной памяти, поэтому они имели достаточно сложную систе­му CISC-команд (CompleteInstructionSetComputing— вычисления с полной системой команд). В этих машинах большую долю команд со­ставляли команды типа «Память-память», в которых операнды и ре­зультаты операций находились в оперативной памяти. Время обра­щения к памяти и время вычислений соотносились примерно, как 5:1. ВRISC-машинах с большой сверхоперативной памятью большой удель­ный вес составляют операции «регистр-регистр» и отношение времени обращения к памяти и времени вычислений составляет 2:1 [27].

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

Другой модификацией классической структуры ЭВМ является VLIW(VeryLargeInstuctionWord) — ЭВМ с «очень длинным коман­дным словом». ЭВМ этого типа выбирает из памяти суперкоманду, включающую несколько команд. Здесь возможны варианты.

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

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

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

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

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

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

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

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

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

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

Рис. 11.5. Типовые структуры ВС в МКМД (МIMD)-классе

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

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

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

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

Успехи микроинтегральной технологии и появление БИС и СБИС позволяют расширить границы и этого направления. Возможно пост­роение систем с десятками, сотнями и даже тысячами процессорных элементов, с размещением их в непосредственной близости друг от друга. Если каждый процессор системы имеет собственную память, то он также будет сохранять известную автономию в вычислениях. Считается, что именно такие системы займут доминирующее поло­жение в мире компьютеров в ближайшие десять — пятнадцать лет. Подобные ВС получили название систем с массовым параллелизмом (Mass-ParallelProcessing,MPP).

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

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

 

58. Комплексирование в ВС.

См вопр 14

59. Системы счисления. Информационно-логические основы ЭВМ.

Система счисления(далее СС) - совокупность приемов и правил для записи чисел цифровыми знаками.
Наиболее известна десятичная СС, в которой для записи чисел используются цифры 0,1,:,9. Способов записи чисел цифровыми знаками существует бесчисленное множество. Любая предназначенная для практического применения СС должна обеспечивать:

возможность представления любого числа в рассматриваемом диапазоне величин;

единственность представления (каждой комбинации символов должна соответствовать одна и только одна величина);

простоту оперирования числами;

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

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

,
где A(D) - запись числа A в СС D;
Di - символ системы, образующие базу.

По этому принципу построены непозиционные СС. В общем же случае системы счисления: A(B)=a1B1+a2B2 +...+anBn. Если положить, что Bi=q*Bi-1, а B1=1, то получим позиционную СС. При q=10 мы имеем дело с привычной нам десятичной СС.
На практике также используют другие СС:

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

Если основание системы q превышает 10, то цифры, начиная с 10, при записи обозначают прописными буквами латинского: A,B,...,Z. При этом цифре 10 соответствуею знак 'A', цифре 11 - знак 'B' и т.д. В таблице ниже приводятся десятичные числа от 0 до 15 и их эквивалент в различных СС:

В позиционной СС число можно представить через его цифры с помощью следующего многочлена относительно q: A=a1*q0+a2*q1+...+an*qn (1) Выражение (1) формулирует правило для вычисления числа по его цифрам в q-ичной СС. Для уменьшения количества вычислений пользуются т.н. схемой Горнера. Она получается поочередным выносом q за скобки: A=(...((an*q+an-1)*q+an-2)*q+...)*q+a1 результат вычисления многочлена будет всегда получен в той системе счисления, в которой будут представлены цифры и основание и по правилам которой будут выполнены операции.


Правила перевода целых чисел

Результатом является целое число.

1. Из десятичной системы счисления - в двоичную и шестнадцатеричную:

исходное целое число делится на основание системы счисления, в которую переводится (2 или 16); получается частное и остаток;

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

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

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

2. Из двоичной и шестнадцатеричной систем счисления - в десятичную. В этом случае рассчитывается полное значение числа по формуле.

3. Из двоичной системы счисления в шестнадцатеричную:

исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;

каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей

4. Из шестнадцатеричной системы счисления в двоичную:

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

незначащие нули в результирующем числе отбрасываются.

 

 

60. Современные чипсеты. Охладители. Модинг.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 257; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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