Вы находитесь на странице: 1из 50

Способы организации и

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

набор машинных команд, формат разрядной сетки для


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

Принципы, лежащие в основе архитектуры ЭВМ, были


сформулированы в 1945 году Джоном фон Нейманом, который
развил идеи Чарльза Беббиджа, представлявшего работу
компьютера как работу совокупности устройств: обработки,
управления, памяти, ввода-вывода.
Принципы фон Неймана
Принципы фон Неймана:
1. Принцип однородности памяти. Над командами можно выполнять такие
же действия, как и над данными.
2. Принцип адресуемости памяти. Основная память структурно состоит из
пронумерованных ячеек; процессору в произвольный момент времени
доступна любая ячейка. Отсюда следует возможность давать имена областям
памяти, так чтобы к хранящимся в них значениям можно было бы
впоследствии обращаться или менять их в процессе выполнения программы с
использованием присвоенных имен.
3. Принцип последовательного программного управления. Предполагает, что
программа состоит из набора команд, которые выполняются процессором
автоматически друг за другом в определенной последовательности.
4. Принцип жесткости архитектуры. Неизменяемость в процессе работы
топологии, архитектуры, списка команд.
Схематичное изображение машины фон Неймана
Гарвардская архитектура
Компьютеры, построенные на принципах фон Неймана,
имеют классическую архитектуру, но, кроме нее, существуют
другие типы архитектуры. Например, Гарвардская. Ее
отличительными признаками являются:
хранилище инструкций и хранилище данных представляют
собой разные физические устройства;
канал инструкций и канал данных также физически разделены.
Типы архитектур вычислительных систем

Архитектура ВС- структура, характеристики и взаимосвязь устройств ЭВМ (структурная


организация), принципы функционирования ЭВМ и ее машинный язык.
Вычислительная система– совокупность взаимосвязанных и взаимодействующих
процессоров или ЭВМ, внешних устройств и программного обеспечения, предназначенных
для подготовки и решения задач пользователей.
ОДНОПРОЦЕССОРНЫЕ ВС. Архитектура Фон Неймана: 1 процессор, через который
проходит 1 поток данных и 1 поток команд.
МНОГОПРОЦЕССОРНЫЕ ВС. Наличие нескольких процессоров. Следовательно, можно
параллельно обрабатывать несколько потоков данных и несколько потоков команд.
МНОГОМАШИННЫЕ ВС. Несколько процессоров, не имеющих общей памяти. Каждая
ЭВМ имеет свою память и классическую архитектуру Фон Неймана.
Архитектура процессоров вычислительных систем.

Конвейеризация вычислений
Рассмотрим использование конвейерной обработки на примере
конвейера команд. Как известно, цикл выполнения команды
представляет собой последовательность этапов. Возложив
реализацию каждого из них на самостоятельное устройство и
последовательно соединив такие устройства, можно получить
классическую схему конвейера команд. Выделим в цикле
выполнения команд шесть этапов.
Выборка команды (ВК). Чтение очередной команды из памяти и
занесение ее в регистр команды.
Декодирование (ДК). Определение кода операции и способов
адресации операндов.
Вычисление адресов операндов (ВА). Вычисление исполнительных
адресов операндов в соответствии с указанным в команде способом
их адресации.
Выборка операндов (ВО). Извлечение операндов из памяти. Эта
операция не нужна для операндов, находящихся в регистрах.
Исполнение команды (ИК). Исполнение указанной операции.
Запись результата (ЗР). Занесение результата в память.
Архитектура системы команд
Системой команд (СК) вычислительной машины называют полный
перечень команд, которые способна выполнять данная ВМ.
Под архитектурой системы команд (АСК) принято определять те
средства вычислительной машины, которые видны и доступны
программисту.
АСК можно рассматривать как линию согласования нужд
разработчиков программного обеспечения с возможностями создателей
аппаратуры вычислительной машины
Классификация архитектуры системы команд
В истории развития вычислительной техники как в зеркале отражаются
изменения, происходившие во взглядах разработчиков на перспективность
той или иной архитектуры системы команд (АСК).
Среди мотивов, чаще всего предопределяющих переход к новому
типу АСК, остановимся на двух наиболее существенных:
состав операций, выполняемых вычислительной машиной, и их
сложность;
место хранения операндов, что влияет на количество и длину адресов,
указываемых в адресной части команд обработки данных.
Классификация по составу и сложности команд
Современная технология программирования ориентирована на языки высокого
уровня (ЯВУ). Главная цель ЯВУ — облегчить процесс программирования. Переход
к ЯВУ, однако, породил серьезную проблему: сложные операторы, характерные
для ЯВУ, существенно отличаются от простых машинных операций реализуемых в
большинстве вычислительных машин.
Проблема получила название семантического разрыва, а ее следствием становится
недостаточно эффективное выполнение программ на ВМ.
Пытаясь преодолеть семантический разрыв, разработчика ВМ в настоящее время
выбирают один из трех подходов и, соответственно, один из 3 типов АСК:
архитектура с полным набором команд: CISC (Complex Instruction Set Computer);
архитектура с сокращенным набором команд: RISC (Reduced Instruction Set
Computer);
архитектура с командными словами сверхбольшой длины: VLIW (Very Long
Instruction Word).
Хронология развития архитектуры команд
Архитектура с полным набором команд - CISC
В ВМ типа CISC проблема семантического разрыва решается за счет расширения системы
команд, дополнения ее сложными командами, семантически аналогичными операторам ЯВУ.
Основоположником CISC-архитектуры считается компания IBM, которая начала применять
данный подход с семейства машин IBM 360 и продолжает его в своих мощных современных
универсальных IВ М ES/9000. Аналогичный подход характерен и для компании Intel в ее
микропроцессорах серии 8086 и Pentium. Для CISC - архитектуры типичны:
наличие в процессоре сравнительно небольшого числа регистров общего назначения (РОН);
большое количество машинных команд, некоторые из них аппаратно реализуют сложные
операторы ЯВУ
разнообразие способов адресации операндов,
множество форматов команд различной разрядности;
наличие команд, где обработка совмещается с обращением к памяти
К типу CISC можно отнести практически все ВМ, выпускавшиеся до середины 1980-х годов,
и значительную часть производящихся в настоящее время.
Примеры процессоров CISC
Архитектура с сокращенным набором команд - RISC
Детальный анализ упомянутых исследований привел к серьезному пересмотру
решений, следствием чего, стало появление RISC-архитектуры Термин RISC впервые был
использован Д. Паттерсоном и Д. Дитцелем в 1980 году. Идея заключается в следующем:
список команд ВМ ограничен наиболее часто используемыми простейшими
командами, которые оперируют данными, размещенными в регистрах процессорах;
обращение к памяти допускается лишь с помощью специальных команд чтения и
записи;
резко уменьшено количество форматов команд и способов указания адресов операндов;
это
операций обработки данных отделены от операций обращения к памяти.
Все это позволяет упростить аппаратные средства ВМ и повысить их
быстродействие. RISC-архитектура разрабатывалась таким образом, чтобы
уменьшить Тныч за счет сокращения CPI и пр.
Как следствие, реализация сложных команд за счет последовательности из простых, но
быстрых RISC-команд оказывается не менее эффективной, чем аппаратный вариант
сложных команд в CISC-архитектуре.
Элементы RISC-архитектуры впервые появились в
вычислительных машинах С6600 и суперЭВМ компании Cray
Research. Достаточно успешно реализует RISC-архитектура и
в современных ВМ, например в процессорах Alpha фирмы
DEC, серии РА фирмы Hewlett-Packard, семействе PowerPC и
т. п.
В последних микропроцессорах фирмы Intel и AMD широко
используются идеи, свойственные RISC-архитектуре, так что
многие различия меж СISC и RISC постепенно стираются.
Архитектура RISC - процессор
Сравнительная оценка CISC-, RISC

Характеристика CISC RISC

Длина команды Варьируется Единая

Расположение полей в команде Варьируется Неизменное

Несколько (часто
Количество регистров специализированных) Много РОН

Выполняется только
Доступ к памяти Может выполняться как часть специальными
команд различных типов
командами
Суперскалярные процессоры.
Суперскалярным называется центральный процессор (ЦП),
который одновременно выполняет более чем одну
скалярную команду. Это достигается за счет включения в
состав ЦП нескольких самостоятельных функциональных
(исполнительных) блоков, каждый из которых отвечает за
свой класс операций и может присутствовать в процессоре в
нескольких экземплярах.
Поток управления
Поток управления (нить, thread) — это элемент процесса,
который может выполняться на центральном процессоре.
Процесс начинает свою работу с одного (главного) потока,
но может создавать дополнительные.
Процесс завершает свое выполнение после завершения
работы главного потока (независимо от работы
дополнительных потоков)
Процесс и потоки
Все потоки процесса разделяют общие
–адресное пространство;
–таблицу открытых файлов;
–глобальные и статические переменные;
–другие ресурсы процесса.
Каждый поток имеет отдельные
–стек;
–точку выполнения;
–значения локальных переменных.
Потоки данных
Поток данных в программировании — абстракция, используемая для чтения или
записи файлов, сокетов и т. п. в единой манере.
Потоки являются удобным унифицированным программным интерфейсом для
чтения или записи файлов (в том числе специальных и, в частности, связанных
с устройствами), сокетов и передачи данных между процессами.
Поддержка потоков включена в большинство языков программирования и едва ли
не во все современные (на 2008 год) операционные системы.
При запуске процесса ему предоставляются предопределённые стандартные потоки.
Возможность перенаправления потоков позволяет связывать различные программы,
и придаёт системе гибкость, являющуюся частью философии Unix.
Классификация вычислительных систем
По назначению вычислительные
системы делят
на: универсальные и специализиров
анные.
Специализированные системы
ориентированы на решение узкого
класса задач, в отличие от
универсальных, предназначенных
для широкого спектра задач.
 По типу
построения вычислительные системы
разделяются на: -многомашинные -
многопроцессорные
Вычислительные системы класса SIMD.
Вычислительные системы класса SIMD: векторные ВС.
При большой размерности массивов последовательная обработка элементов матриц занимает
слишком много времени, что и приводит к неэффективности универсальных ВС для
рассматриваемого класса задач. Для обработки массивов требуются вычислительные средства,
позволяющие с помощью единой команды производить действие сразу над всеми элементами
массивов — средства векторной обработки.
В средствах векторной обработки под вектором понимается одномерный массив однотипных данных
При размещении матрицы в памяти все ее элементы заносятся в ячейки с последовательными
адресами, причем данные могут быть записаны строка за строкой или столбец за столбцом
Для повышения скорости обработки векторов все функциональные блоки векторных процессоров
строятся по конвейерной схеме, причем так, чтобы каждая ступень любого из конвейеров справлялась
со своей операцией за один такт
Вычислительные системы класса SIMD.
Вычислительные системы класса SIMD: Вычислительные системы класса SIMD:
матричные ВС. систолические ВС.
Назначение матричных вычислительных системчтобы данные на своем пути от считывания из памяти
во многом схоже с назначением векторных ВС — до возвращения обратно ритмически проходили через
обработка больших массивов данных. как можно большее число процессорных элементов,
Матричный процессор интегрирует множество подвергаясь максимально возможной обработке без
занесения в память промежуточных результатов
идентичных функциональных блоков (ФБ), Принцип систолических вычислений основан на
логически объединенных в матрицу и циркуляции данных, как бы прокачиваемых
работающих в SIMD-стиле. процессорными элементами массива, подобно
Векторный процессор имеет встроенные циркуляции крови в системе кровообращения под
команды для обработки векторов данных, что воздействием ритмических сокращений сердца
позволяет эффективно загрузить конвейер из С каждым тактовым имульсом данные из памяти
функциональных блоков. проталкиваются через массив ПЭ (Процессорный
Не столь существенно, как конструктивно элемент)и с выхода этого массива вновь поступают в
реализована матрица процессорных элементов - память.
на едином кристалле или на нескольких.
Вычислительные системы класса SIMD.
Вычислительные системы класса SIMD: ассоциативные Вычислительные системы класса SIMD: ВС с
ВС. архитектурой VLIW.
Однако, в отличие от матричных систем, обращение к Архитектура с командными словами сверхбольшой длины или
данным производится не по адресам, где хранятся эти со сверхдлинными командами (VLIW, Very Long Instruction
данные, а по отличительным признакам, содержащимся в Word) известна с начала 80-х из ряда университетских
самих данных проектов, но только сейчас, с развитием технологии
Ассоциативным процессором называют производства микросхем, она нашла свое достойное
специализированный процессор, реализованный на базе воплощение
ассоциативного запоминающего устройства (АЗУ), где, как
известно, доступ к информации осуществляется не по VLIW — это набор команд, организованных наподобие
адресу операнда, а по отличительным признакам, горизонтальной микрокоманды в микропрограммном
содержащимся в самом операнде. устройстве управления.
Ассоциативная вычислительная система (АВС) Идея VLIW базируется на том, что задача эффективного
представляет собой многопроцессорную ВС, планирования параллельного выполнения нескольких команд
объединяющую множество ассоциативных процессоров, возлагается на «разумный» компилятор. Такой компилятор
процессор управления, процессор ввода/вывода и вначале исследует исходную программу с целью обнаружить
основную память все команды, которые могут быть выполнены одновременно
В процессе анализа компилятор может даже частично
имитировать выполнение рассматриваемой программы
Длина сверхдлинной команды обычно составляет от 256 до
1024 бит.
Вычислительные системы класса MIMD: 

SMP-системы
PVP-системы
NUMA-системы
MPP-системы
кластерные системы
ВС типа “Constellation”
ВС на базе транспьютеров
Симметричные мультипроцессорные системы
Симметричная мультипроцессорная система (SMP, Symmetric Multiprocessor) — это
вычислительная система, обладающая следующими характеристиками:
1. Имеется два или более процессоров сопоставимой производительности.
2. Процессоры совместно используют основную память и работают в едином
виртуальном и физическом адресном пространстве.
3. Все процессоры связаны между собой посредством шины или по иной схеме, так
что время доступа к памяти для любого из них одинаково.
4. Все процессоры разделяют доступ к устройствам ввода/вывода либо через одни и
те же каналы, либо через разные каналы, обеспечивающие доступ к одному и тому
же внешнему устройству.
5. Все процессоры способны выполнять одинаковые функции.
6. Любой из процессоров может обслуживать внешние прерывания.
7. Вычислительная система управляется интегрированной операционной системой,
которая организует и координирует взаимодействие между процессорами и
программами на уровне заданий, задач, файлов и элементов данных.
Симметричные мультипроцессорные системы
Архитектура:

 Система состоит из нескольких однородных процессоров и


массива общей памяти (обычно из нескольких независимых
блоков). Все процессоры имеют доступ к любой точке памяти
с одинаковой скоростью. Процессоры подключены к памяти
либо с помощью общей шины (базовые 2-4 процессорные
SMP-сервера), либо с помощью crossbar-коммутатора (HP
9000). Аппаратно поддерживается когерентность кэшей.
Примеры: HP 9000 V-class, N-class; SMP-cервера и рабочие
станции на базе процессоров Intel (IBM, HP, Compaq, Dell,
ALR, Unisys, DG, Fujitsu и др.).
Масштабируемость: Наличие общей памяти сильно упрощает
взаимодействие процессоров между собой, однако накладывает
сильные ограничения на их число - не более 32 в реальных системах.
Для построения масштабируемых систем на базе SMP используются
кластерные или NUMA-архитектуры.
Операционная система: Вся система работает под управлением
единой ОС (обычно UNIX-подобной, но для Intel-платформ
поддерживается Windows NT). ОС автоматически (в процессе работы)
распределяет процессы/нити по процессорам (scheduling), но иногда
возможна и явная привязка.
Модель программирования: Программирование в модели общей
памяти. (POSIX threads, OpenMP). Для SMP-систем существуют
сравнительно эффективные средства автоматического
распараллеливания.
Системы с неоднородным доступом к памяти
Вычислительные системы с неоднородным доступом к памяти -
система, состоящая из однородных узлов, состоящих из
процессора и блока памяти и объединенных с помощью
высокоскоростного коммутатора. Здесь поддерживается единое
адресное пространство, аппаратно поддерживается доступ к
удаленной памяти, т.е. к памяти других модулей. При этом
доступ к локальной памяти в несколько раз быстрее, чем к
удаленной. 
Примеры систем, с архитектурой NUMA: HP 9000 V-class в
SCA-конфигурациях, SGI Origin2000, Sun HPC 10000,
IBM/Sequent NUMA-Q 2000, SNI RM600.
Общая характеристика вычислительных систем с неоднородным доступом
к памяти:

Имеются два или более узлов, каждый из которых может быть представлен
процессорным элементом с кэш-памятью или SMP-системой.
Каждый узел имеет локальную память, рассматриваемую как часть глобальной
памяти системы.
Узлы соединены посредством высокоскоростной сети, в роли которой чаще всего
выступает коммутатор типа «кроссбар».
Поддерживается единое адресное пространство, то есть любой узел имеет доступ к
памяти других узлов, однако время доступа к локальной памяти существенно
меньше времени обращения к удаленной памяти (локальной памяти других узлов).
Когерентность кэшей обычно поддерживается аппаратными средствами (ccNUMA),
но возможен вариант без таких средств (nccNUMA).
Вычислительная система управляется единой операционной системой, как в SMP,
но возможен вариант с разбиением системы на разделы, работающие под
управлением разных операционных систем.
Особенности NUMA

•Каждая группа процессоров имеет свою собственную


память.
•Каждый ЦП может иметь доступ к памяти, связанной с
другими группами.
•Доступ к локальной памяти происходит быстрее, чем к
памяти, связанной с другими узлами NUMA.
Системы с массовой параллельной обработкой.

Основным признаком, по которому вычислительную


систему относят к архитектуре с массовой параллельной
обработкой (МРР, Massively Parallel Processing), служит
количество процессоров n. Строгой границы не существует,
но обычно при n  128 считается, что это уже МРР, а
при n  32 – еще нет. 
Главные особенности, по которым вычислительную систему причисляют к классу
МРР, можно сформулировать следующим образом:

стандартные микропроцессоры;
физически распределенная память;
сеть соединений с высокой пропускной способностью и
малыми задержками;
хорошая масштабируемость (до тысяч процессоров);
асинхронная MIMD-система с пересылкой сообщений;
программа представляет собой множество процессов,
имеющих отдельные адресные пространства.
Черты
Характерная черта МРР-систем – наличие единственного управляющего устройства
(процессора), распределяющего задания между множеством подчиненных ему устройств,
чаще всего одинаковых (взаимозаменяемых), принадлежащих одному или нескольким
классам. Схема взаимодействия в общих чертах довольно проста:
центральное управляющее устройство формирует очередь заданий, каждому из которых
назначается некоторый уровень приоритета;
по мере освобождения подчиненных устройств им передаются задания из очереди;
подчиненные устройства оповещают центральный процессор о ходе выполнения задания, в
частности о завершении выполнения или о потребности в дополнительных ресурсах;
у центрального устройства имеются средства для контроля работы подчиненных
процессоров, в том числе для обнаружения нештатных ситуаций, прерывания выполнения
задания в случае появления более приоритетной задачи и т. п.
Благодаря свойству масштабируемости, МРР-системы являются сегодня лидерами по
достигнутой производительности; наиболее яркий пример этому – Intel Paragon с 6768
процессорами.
Слабым местом МРР является центральное управляющее устройство (ЦУУ) – при выходе его
из строя вся система оказывается неработоспособной. Повышение надежности ЦУУ
основывается на упрощении аппаратуры ЦУУ и/или ее дублирования.
Структура МРР-системы RM1000
Кластерные вычислительные системы
Кластерные вычислительные системы стали продолжением развития идей,
заложенных в архитектуре MPA-систем. Если в MPA-системе в качестве
законченного вычислительного узла выступает процессорный модуль, то в
кластерных системах в качестве таких вычислительных узлов используют
серийно выпускаемые компьютеры.
Кластер — это связанный набор полноценных компьютеров, используемый
в качестве единого вычислительного ресурса. В качестве узлов кластеров
могут использоваться как одинаковые (гомогенные кластеры), так и разные
(гетерогенные кластеры) вычислительные машины. По своей архитектуре
кластерная вычислительная система является слабосвязанной. Для
создания кластеров обычно используются либо простые
однопроцессорные персональные компьютеры, либо двух- или
четырехпроцессорные SMP-серверы. При этом не накладывается никаких
ограничений на состав и архитектуру узлов.
На аппаратном уровне кластер — совокупность независимых
вычислительных систем, объединенных сетью.
Конфигурация кластера без совместно используемых дисков:
Конфигурация кластера с совместно используемыми дисками:
Различия:
Приведены структуры кластеров из двух узлов, координация работы
которых обеспечивается высокоскоростной линией, используемой для
обмена сообщениями. Это может быть локальная сеть, применяемая также
и не входящими в кластер компьютерами, либо выделенная линия. В
случае выделенной линии один или несколько узлов кластера будут иметь
выход на локальную или глобальную сеть, благодаря чему обеспечивается
связь между серверным кластером и удаленными клиентскими системами.
Различие между представленными кластерами заключается в том, что в
случае локальной сети узлы используют локальные дисковые массивы, а в
случае выделенной линии узлы совместно используют один избыточный
массив независимых жестких дисков или так называемый
RAID(RedundantArrayofIndependentDisks). RAID состоит из нескольких
дисков, управляемых контроллером, взаимосвязанных скоростными
каналами и воспринимаемых внешней системой как единое целое. В
зависимости от типа используемого массива могут обеспечиваться
различные степени отказоустойчивости и быстродействия.
Классификация кластеров по используемым методам
кластеризации, которые определяют основные
функциональные особенности системы:
∙ кластеризация с пассивным резервированием;
∙ кластеризация с активным резервированием;
∙ самостоятельные серверы;
∙ серверы с подключением ко всем дискам;
∙ серверы с совместно используемыми дисками.
Топология кластерных пар
Топология кластерных пар используется при организации
двух- или четырехузловых кластеров. Узлы группируются
попарно, дисковые массивы присоединяются к обоим
узлам, входящим в состав пары, причем каждый узел пары
имеет доступ ко всем дисковым массивам данной пары.
Один из узлов пары используется как резервный для
другого.
Топология N+ 1:
Топология N + 1 позволяет создавать кластеры из двух,
трех и четырех узлов. Каждый дисковый массив
подключается только к двум узлам кластера. Дисковые
массивы организованы по схеме RAID1 (mirroring).
Один сервер имеет соединение со всеми дисковыми
массивами и служит в качестве резервного для всех
остальных (основных или активных) узлов. Резервный
сервер может использоваться для обеспечения высокой
степени готовности в паре с любым из активных узлов.
Топология N×N:
Топология N × N аналогично топологии N + 1 позволяет
создавать кластеры из двух, трех и четырех узлов, но в отличие
от нее обладает большей гибкостью и масштабируемостью.
Только в этой топологии все узлы кластера имеют доступ ко
всем дисковым массивам, которые, в свою очередь, строятся по
схеме RAID1. Масштабируемость топологии проявляется в
простоте добавления к кластеру дополнительных узлов и
дисковых массивов без изменения соединений в системе.
Топология с полностью раздельным доступом:

Топология с полностью раздельным доступом допускает


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

Оценить