165
Федеральное агентство связи Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМА Самара

ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

Embed Size (px)

Citation preview

Page 1: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования

ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ

ЭЛЕКТРОННАЯ

БИБЛИОТЕЧНАЯ СИСТЕМА

Самара

Page 2: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

2

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования «Поволжский государственный

университет телекоммуникаций и информатики»

Кафедра программного обеспечения и управления в

технических системах

КОНСПЕКТ ЛЕКЦИЙ

ПО УЧЕБНОЙ ДИСЦИПЛИНЕ

Архитектура вычислительных систем

по специальности (направлению подготовки):

230105 – Программное обеспечение вычислительной техники

и автоматизированных систем

Самара - 2013

Page 3: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

3

УДК 621.391

Карташевский И.В., Малахов С.В.

Архитектура вычислительных систем. Конспект лекций. - Самара.: ФГОБУ

ВПО ПГУТИ, 2013. - 234 с.

Пособие позволяет слушателям понять строение ЭВМ, принципы

функционирования, научится ориентироваться в выборе на основе их

классификаций; раскрывает принципы построения многопроцессорной

вычислительной техники.

Предназначено для студентов обучающихся по направлению 230105

«Программное обеспечение средств вычислительной техники и

автоматизированных систем»

Рецензент:

Осипов О.В. - д.ф.-.м..н., проректор по информатизации и образовательным

технологиям ФГОБУ ВПО ПГУТИ.

Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования «Поволжский государственный

университет телекоммуникаций и информатики»

© Карташевский И.В., Малахов С.В., 2013

Page 4: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

4

Оглавление

СПИСОК СОКРАЩЕНИЙ 8

ВВЕДЕНИЕ 11

ЛЕКЦИЯ 1. 13

ТЕМА 1. ВВЕДЕНИЕ В ПРЕДМЕТ. ПОНЯТИЯ ЭВМ И ВС 13

1.1. ПОНЯТИЯ ЭВМ И ВС 13

1.2. ПОНЯТИЕ АРХИТЕКТУРЫ ВС 13

1.3. ПРЕДПОСЫЛКИ РАЗВИТИЯ ВС. ЗАКОН ГРОША ДЛЯ ВС 14

1.4. АРХИТЕКТУРА КАК НАБОР ВЗАИМОДЕЙСТВУЮЩИХ КОМПОНЕНТОВ 15

1.5. АРХИТЕКТУРА КАК ИНТЕРФЕЙС МЕЖДУ УРОВНЯМИ ФИЗИЧЕСКОЙ СИСТЕМЫ16

ЛЕКЦИЯ 2. 17

ТЕМА 2. ЭВОЛЮЦИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ 18

2.1. ТЕОРИЯ ЭВОЛЮЦИИ КОМПЬЮТЕРОВ 18

2.2. ЗАКОН МУРА 20

2.3. ДУАЛИЗМ В РАЗВИТИИ ТЕХНИКИ 19

2.4. ПРИНЦИПЫ ФОН-НЕЙМАНА 20

2.5. ПОКОЛЕНИЯ ЭВМ 22

ЛЕКЦИЯ 3. 30

ТЕМА 3. АРХИТЕКТУРА СИСТЕМЫ КОМАНД. CISC И RISC

АРХИТЕКТУРЫ ПРОЦЕССОРОВ 30

3.1. МНОГОУРОВНЕВАЯ КОМПЬЮТЕРНАЯ ОРГАНИЗАЦИЯ 30

3.2. АРХИТЕКТУРА СИСТЕМЫ КОМАНД 28

3.3. CISC И RISC АРХИТЕКТУРЫ ПРОЦЕССОРОВ 29

3.4. РАЗВИТИЕ АРХИТЕКТУР СОВРЕМЕННЫХ МП 31

ЛЕКЦИЯ 4. 36

ТЕМА 4. АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ 37

4.1. АРХИТЕКТУРА VLIW 40

4.2. АРХИТЕКТУРА EPIC 42

4.3. ТЕХНОЛОГИЯ IA-64 43

4.4. INTEL ITANIUM 46

ЛЕКЦИЯ 5. 61

ТЕМА 5. КОНЦЕПТУАЛЬНОЕ ПОНЯТИЕ О ВС 61

5.1. МОДЕЛЬ ВЫЧИСЛИТЕЛЯ 61

5.2. ВОЗМОЖНОСТИ СОВЕРШЕНСТВОВАНИЯ ЭВМ 49

5.3. МОДЕЛЬ КОЛЛЕКТИВА ВЫЧИСЛИТЕЛЕЙ 52

5.4. СТРУКТУРА КОЛЛЕКТИВА ВЫЧИСЛИТЕЛЕЙ 53

5.5. АЛГОРИТМ РАБОТЫ КОЛЛЕКТИВА ВЫЧИСЛИТЕЛЕЙ 71

ЛЕКЦИЯ 6. 57

Page 5: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

5

ТЕМА 6. ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ 57

6.1. ПРИНЦИПЫ ТЕХНИЧЕСКОЙ РЕАЛИЗАЦИИ МОДЕЛИ КОЛЛЕКТИВА

ВЫЧИСЛИТЕЛЕЙ 57

6.2. АРХИТЕКТУРНЫЕ СВОЙСТВА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ 77

6.3. ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА. УРОВНИ ОРГАНИЗАЦИИ ПАРАЛЛЕЛИЗМА 63

6.4. СИСТЕМЫ (ЯЗЫКИ) ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ 66

6.5. СПОСОБЫ КЛАССИФИКАЦИИ ВС 68

6.6. МНОГОМАШИННЫЕ ВС. РЕЖИМЫ РАБОТЫ. ОТЛИЧИЯ ОТ

МНОГОПРОЦЕССОРНЫХ ВС 93

6.7. УРОВНИ КОМПЛЕКСИРОВАНИЯ В ВС 72

ЛЕКЦИЯ 7. 102

ТЕМА 7. КЛАССИФИКАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ.

ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ 102

7.1. ОСНОВНЫЕ КЛАССЫ ВС 102

7.2. ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ. ПАРАЛЛЕЛЬНАЯ ПРОГРАММА. ЛОКАЛЬНОЕ И

ГЛОБАЛЬНОЕ РАСПАРАЛЛЕЛИВАНИЕ. 77

7.3. ПОКАЗАТЕЛИ ЭФФЕКТИВНОСТИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ 79

7.4. ЗАКОН АМДАЛА 80

ЛЕКЦИЯ 8. 82

ТЕМА 8. ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ 82

8.1. АЛГОРИТМЫ МАРШРУТИЗАЦИИ. МЕТОДЫ ПЕРЕДАЧИ ДАННЫХ.

ЛАТЕНТНОСТЬ И ПРОПУСКНАЯ СПОСОБНОСТЬ СЕТИ 82

8.2. ПЕРЕДАЧА ДАННЫХ МЕЖДУ ДВУМЯ ПРОЦЕССОРАМИ И

ШИРОКОВЕЩАТЕЛЬНАЯ ПЕРЕДАЧА 84

8.3. СЛОЖНЫЕ ЗАДАЧИ. МАСШТАБИРУЕМОСТЬ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ.

ФУНКЦИЯ ИЗОЭФФЕКТИВНОСТИ 87

ЛЕКЦИЯ 9. 90

ТЕМА 9. ОРГАНИЗАЦИЯ ПАМЯТИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ90

9.1. СИСТЕМЫ С ОБЩЕЙ И РАСПРЕДЕЛЕННОЙ ПАМЯТЬЮ 90

9.2. МНОГОУРОВНЕВАЯ ОРГАНИЗАЦИЯ ОБЩЕЙ ПАМЯТИ 91

9.3. ПАМЯТЬ С ЧЕРЕДОВАНИЕМ АДРЕСОВ 91

9.4. СИММЕТРИЧНЫЕ (SMP) МНОГОПРОЦЕССОРНЫЕ ВС. АРХИТЕКТУРА ТИПА

UMA, COMA, NUMA 93

ЛЕКЦИЯ 10. 98

ТЕМА 10. ВЕКТОРНЫЕ И ВЕКТОРНО-КОНВЕЙЕРНЫЕ

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ 98

10.1. ПОНЯТИЕ ВЕКТОРА И РАЗМЕЩЕНИЕ ДАННЫХ В ПАМЯТИ 98

10.2. ПОНЯТИЕ ВЕКТОРНОГО ПРОЦЕССОРА 99

10.3. PVP-СИСТЕМА 100

10.4. СТРУКТУРА ВЕКТОРНОГО ПРОЦЕССОРА 101

Page 6: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

6

10.5. СТРУКТУРЫ ТИПА «ПАМЯТЬ-ПАМЯТЬ» И «РЕГИСТР-РЕГИСТР» 103

10.6. ОБРАБОТКА ДЛИННЫХ ВЕКТОРОВ И МАТРИЦ 104

10.7. УСКОРЕНИЕ ВЫЧИСЛЕНИЙ 104

10.8. ФУНКЦИОНАЛЬНЫЕ УСТРОЙСТВА 106

10.9. СЕКЦИЯ УПРАВЛЕНИЯ ПРОЦЕССОРА 107

ЛЕКЦИЯ 11. 109

ТЕМА 11. МАТРИЧНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ 109

11.1. ИНТЕРФЕЙСНАЯ ВМ 111

11.2. КОНТРОЛЛЕР МАССИВА ПРОЦЕССОРОВ 111

11.3. МАССИВ ПРОЦЕССОРОВ 112

11.4. СТРУКТУРА ПРОЦЕССОРНОГО ЭЛЕМЕНТА 114

11.5. ПОДКЛЮЧЕНИЕ И ОТКЛЮЧЕНИЕ ПРОЦЕССОРНЫХ ЭЛЕМЕНТОВ 115

11.6. СЕТИ ВЗАИМОСВЯЗЕЙ ПРОЦЕССОРНЫХ ЭЛЕМЕНТОВ 116

ЛЕКЦИЯ 12. 162

ТЕМА 12. ТИПЫ ПАМЯТИ МАТРИЧНЫХ ВЫЧИСЛИТЕЛЬНЫХ

СИСТЕМ 162

12.1. АССОЦИАТИВНАЯ ПАМЯТЬ 118

12.2. АССОЦИАТИВНЫЕ ВС 121

12.3. СИСТОЛИЧЕСКИЕ СТРУКТУРЫ 122

ЛЕКЦИЯ 13. 126

ТЕМА 13. КЛАСТЕРНЫЕ И MPP-СИСТЕМЫ 126

13.1. ТОПОЛОГИИ КЛАСТЕРОВ 129

13.2. СИСТЕМЫ С МАССОВЫМ ПАРАЛЛЕЛИЗМОМ (MPP-СИСТЕМЫ) 132

ЛЕКЦИЯ 14. 136

ТЕМА 14. ОБЗОР И АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ 136

14.1. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ТЕРМИНЫ 136

14.2. ПРЕИМУЩЕСТВА ИСПОЛЬЗОВАНИЯ СЕТЕЙ 138

ЛЕКЦИЯ 15. 140

ТЕМА 15. АРХИТЕКТУРА СЕТЕЙ 140

15.1. АРХИТЕКТУРА ТЕРМИНАЛ – ГЛАВНЫЙ КОМПЬЮТЕР 140

15.2. ОДНОРАНГОВАЯ АРХИТЕКТУРА 141

15.3. АРХИТЕКТУРА КЛИЕНТ – СЕРВЕР 142

15.4. ВЫБОР АРХИТЕКТУРЫ СЕТИ 201

ЛЕКЦИЯ 16. 203

ТЕМА 16. СЕМИУРОВНЕВАЯ МОДЕЛЬ OSI 203

16.1. ВЗАИМОДЕЙСТВИЕ УРОВНЕЙ МОДЕЛИ OSI 203

16.2. ПРИКЛАДНОЙ УРОВЕНЬ (APPLICATION LAYER) 208

16.3. УРОВЕНЬ ПРЕДСТАВЛЕНИЯ ДАННЫХ (PRESENTATION LAYER) 150

Page 7: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

7

16.4. СЕАНСОВЫЙ УРОВЕНЬ (SESSION LAYER) 151

16.5. ТРАНСПОРТНЫЙ УРОВЕНЬ (TRANSPORT LAYER) 152

ЛЕКЦИЯ 17. 216

17.1. СЕТЕВОЙ УРОВЕНЬ (NETWORK LAYER) 154

17.2. КАНАЛЬНЫЙ УРОВЕНЬ (DATA LINK) 155

17.3. ФИЗИЧЕСКИЙ УРОВЕНЬ (PHYSICAL LAYER) 157

17.4. СЕТЕЗАВИСИМЫЕ ПРОТОКОЛЫ 159

17.5. СТЕКИ КОММУНИКАЦИОННЫХ ПРОТОКОЛОВ 160

СПИСОК ЛИТЕРАТУРЫ 161

ГЛОССАРИЙ 162

Page 8: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

8

Список сокращений

ALU – Arithmetic Logic Unit

ASP – Application-Specific Processor

BSP – Burroughs Scientific Processor

CISC – Complete Instruction Set Computer

COMA – Cacheonly Memory Architecture

COW – Cluster of Workstattions

CPI – Cycles Per Instruction

CPU – Central Processing Unit

CTR – Cut-Through Routing

DSM – Distributed Shared Memory

DSP – Digital Signal Processor

EDSAC – Electronic Delay Storage Automatic Computer

EDVAC – Electronic Discrete Variable Automatic Computer

ENIAC – Electronic Numerical Integrator and Computer

EPIC – Explicitly Parallel Instruction Computing

FIFO – First In, First Out

GPP – General-Purpose Preprocessor

HPF – High Perfomance Fortran

IA – Intel Architecture

IEEE – Institute of Electrical and Electronics Engineers

ILP – Instruction Level Parallelism

ISA – Industrial Standard Architecture

LSI – Large-Scale Integration

MIMD – Multiple Instruction stream, Multiple Data stream

MISD – Multiple Instruction stream, Single Data stream

MMX – Multimedia Extensions

MPI – Message Passing Interface

MPP – Massively Parallel Processing

NORMA – NO Remote Memory Access

NUMA – Non Uniform Memory Access

PVM – Parallel Virtual Machines

PVP – Player Versus Player

RAID – Redundant Array of Independent Disks

RAM – Random access memory

RISC – Restricted (reduced) Instruction Set Computer

ROSC – Removed Operand Set Computer

SIMD – Single Instruction, Multiple Data

SISD – Single Instruction, Single Data

SMP – Symmetric Multiprocessor

SMT – Simultaneous Multi-Threading

SSE – Streaming SIMD Extensions

TCP – Transmission Control Protocol

TFLOPS – Floating-Point Operations Per Second

Page 9: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

9

TRAC – Texas Reconfigurable Array Computer

UDP – User Datagram Protocol

UMA – Uniform Memory Access

VLIW – Very Long Instruction Word

VLSI – Very Large-Scale Integration

АЗУ – Ассоциативное Запоминающее Устройство

АКК – Адаптера «канал-канал»

АЛУ – Арифметко-логическое Устройство

АП – Ассоциативный Процессор

АСК – Архитектура Систем Команд

БД – База Данных

БИС – Большие Интегральные Схемы

ВМ – Вычислительная Машина

ВнУ – Внешнее Устройства

ВП – Виртуальная Память

ВР – Векторный Регистр

ВС – Вычислительная Система

ВТ – Вычислительная Техника

ЗУ – Запоминающее Устройство

ИВМ – Интерфейсная Вычислительная Машина

ИМС – Интегральные схемы Малой Степени интеграции

ИПУ – Интерфейс Прямого Управления

КМП – Контроллер Массива Процессоров

КОП – Код Операции

МК – Мультиплексный Канал

ММС – Многомашинные и Многопроцессорные Системы

МП – Микропроцессор

МПр – Массив Процессоров

МПС – Многопроцессорные Системы

НМД – Накопитель на Магнитных Дисках

НМЛ – Накопитель на Магнитных Лентах

ОЗУ – Оперативно-запоминающее Устройство

ООП – Общую Оперативную Память

ОП – Операционная Память

ОПП – Общая Операционная Память

ОС – Операционная Система

ПЗ – Плавающая Запятая

ПО – Программное Обеспечение

ПфУ – Периферийное Устройство

ПЭ – Персональный Элемент

ПЭВМ – Персональная Электронно-вычислительная Машина

РОН – Регистры Общего Назначения

РП – Регистр Предикат

СБИС – Сверхбольшая Интегральная Схема

СИ – Сетевой Интерфейс

Page 10: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

10

СК – Селекторные Каналы

СУБД – Система Управления Базами Данных

УБИС – Ультрабольшая Интегральная Схема

УВв – Устройства Ввода

УВУ – Устройств Управления Внешними Устройствами

УВыв – Устройство Вывода

УУ – Устройство Управления

ФБ – Функциональный (исполнительный) Блок

ФУ – Функциональное Устройство

ЦП – Центральный Процессор

ЦУУ – Центральное Управляющее Устройство

ЭВМ – Электронно-вычислительная Машина

Page 11: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

11

Введение

Последнее десятилетие прошлого века характеризовалось бурным развитием

компьютерной техники. Средства компьютеризации встраивались во все

приборы, во всю технику, окружающую человека. Однако прошлый век

характеризовался в большей степени использованием однопроцессорных

вычислительных машин. Как правило, ЭВМ имела один процессорный элемент,

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

компонент. Такие средства вычислительной техники являются

однопотоковыми, т.е. имеют один поток данных, который обрабатывался с

помощью одного потока команд.

Массовое распространение однопотоковых персональных ЭВМ и развитие

дружественного пользовательского интерфейса привели к повсеместной

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

постоянно разработчиков увеличивать производительность ЭВМ. Как известно,

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

размеров кристалла и за счет этого уменьшение машинного такта. Бурное

развитие области радиоэлектроники и микроэлектронной базы привело к

появлению новых больших интегральных схем массового применения, которые

позволили создать микропроцессоры с быстродействием порядка миллиарда

операций в секунду. Но технологические особенности кристалла кремния не

позволяют бесконечно уменьшать ядро без потерь производительности из-за

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

Наряду с персональными ЭВМ, широко распространенными в разных кругах

пользователей, в конце прошлого столетия начали развиваться средства

вычислительной техники, использующие принципы параллелизма и

конвейеризации вычислений. За счет новых подходов к аппаратной реализации

вычислительных систем появилась возможность ускорить вычисления, не

изменяя микроэлектронную базу. Однако любое отклонение от однопотоковых

вычислений приводило к усложнению программного кода, к изменению

структуры программы, что в свою очередь привело к малой

распространенности таких вычислительных систем. При этом разработчики

понимали, что существенное ускорение и увеличение производительности

средств вычислительной техники можно добиться только методами

распараллеливания и конвейеризации.

В начале 21 века производители программного и аппаратного обеспечения

однозначно поняли, что необходимо использовать многопотоковые

вычислительные системы и адаптировать все программное обеспечение для

обеспечения дружественности пользовательских интерфейсов и соответственно

повышения спроса на многопроцессорные вычислительные архитектуры. В

современных компьютерных системах используется несколько процессоров,

несколько банков памяти, набор жестких дисков, подключенных в RAID-

массивы. Все это позволяет существенно повысить производительность ЭВМ.

Однако, не обладая знаниями в области построения вычислительных систем,

Page 12: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

12

невозможно создать эффективный программный код, а можно использовать

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

пользователям современных ЭВМ этого достаточно. Но любой программист

должен знать, как устроена подсистема памяти, как связаны процессоры между

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

и многое другое, что связано с многомашинными вычислительными системами

и средами программирования таких систем.

Дисциплина «Архитектура вычислительных систем» позволяет слушателям

понять строение многопотоковых ЭВМ, принципы функционирования,

научиться ориентироваться в выборе на основе классификаций и т.п. Данное

учебное пособие раскрывает принципы построения многопроцессорной

вычислительной техники. В первой главе приведены базовые понятия,

необходимые для понимания состава и строения вычислительных систем. Во

второй главе рассмотрены отличительные особенности и принципы построения

RISC и CISC архитектур, которые являются базовыми для всех современных

компьютеров. Третья глава является важной в плане понимания принципов,

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

В третьей главе показаны слабые места ЭВМ, предложены методы решения

проблемы «узких мест», рассмотрены основные моменты повышения

производительности ЭВМ, методы оценки производительности, а также методы

решения проблемы надежности современных вычислительных систем. Особе

место в третье главе отведено рассмотрению и анализу форм параллелизма и

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

систем.

В четвертой глава рассмотрены основные методы и принципы построения

многопроцессорных и многомашинных вычислительных систем, дана

подробная классификация для таких систем и приведены примеры реальных

конструкций на основе классификации параллельных вычислительных систем.

В четвертой главе также приведены основные отличительные особенности

языков параллельного программирования. Пятая и шестая глава рассматривают

методы реализации внутренней структуры вычислительных систем. В данных

главах представлены принципы и механизмы организации согласованности

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

коммутационной среды параллельных вычислительных систем.

Page 13: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

13

Лекция 1.

Тема 1. Введение в предмет. Понятия ЭВМ и ВС

1.1. Понятия ЭВМ и ВС

ЭВМ (Computer, вычислительная машина) – это средство, предназначенное

для автоматической обработки информации – данных (прежде всего в процессе

решения вычислительных и информационно-логических задач)

ВС (вычислительная система, суперкомпьютер) – совокупность

взаимосвязанных и взаимодействующих процессоров или вычислительных

машин, периферийного оборудования и программного обеспечения,

предназначенную для подготовки и решения задач пользователей

Формально, отличие ВС от ВМ выражается в количестве вычислителей.

Множественность вычислителей позволяет реализовать в ВС параллельную

обработку. С другой стороны, современные вычислительные машины с одним

процессором также обладают определенными средствами распараллеливания

вычислительного процесса. Иными словами, грань между ВМ и ВС часто

бывает весьма расплывчатой.

Если же рассматривать 3 компонента архитектуры (способ обработки

информации, структуру устройств и сами устройства, составляющие ЭВМ и

ВС), то можно считать в концептуальном плане ВС диалектической

противоположностью ЭВМ (Таблица 1.1).

Таблица 1.1.

ЭВМ ВС

Обработка

информации

Последовательная Параллельная

Структура

устройств

Фиксированная Программируемая

Устройства Неоднородные Однородные

1.2. Понятие архитектуры ВС

Термин «архитектура системы» часто употребляется как в узком, так и в

широком смысле этого слова. В узком смысле под архитектурой

понимается архитектура набора команд, т.е. то, какой машина

предоставляется программисту.

Применительно к вычислительным системам термин «архитектура» может

быть определен как распределение функций, реализуемых системой, между ее

уровнями и определение границ между этими уровнями (Рисунок 1.1.).

Page 14: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

14

Рисунок 1.1.

1.3. Предпосылки развития ВС. Закон Гроша для ВС

Самыми важными предпосылками появления и развития вычислительных

систем служат экономические факторы. Анализ характеристик ЭВМ различных

поколений показал, что в пределах интервала времени, характеризующегося

относительной стабильностью элементной базы, связь стоимости и

производительности ЭВМ выражается квадратичной зависимостью —

«законом Гроша»:

Построение же вычислительных систем позволяет значительно сократить

затраты, так как для них существует линейная формула (Рисунок 1.2.)

где:

Сэвм и Свс – соответственно стоимость ЭВМ и ВС

К1 и К2 – коэффициенты пропорциональности, зависящие от технического

уровня развития ВТ,

Пэвм и Пi – производительность ЭВМ и i-го из n комплектующих

вычислителей (ЭВМ или процессоров).

Рисунок 1.2.

Набор уровневых

интерфейсов Набор компонент

Архитектура

Page 15: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

15

На рисунке выше представлены графики изменения стоимости вычислений

для ЭВМ и ВС. Для каждого поколения ЭВМ и ВС существует критический

порог сложности решаемых задач Пкр , после которого применение автономных

ЭВМ становится экономически невыгодным, неэффективным. Критический

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

Кроме выигрыша в стоимости технических средств, следует учитывать и

дополнительные преимущества. Наличие нескольких вычислителей в системе

позволяет совершенно по-новому решать проблемы надежности, достоверности

результатов обработки, резервирования, централизации хранения и обработки

данных, децентрализации управления и т.д.

Основные принципы построения, закладываемые при создании ВС:

возможность работы в разных режимах;

модульность структуры технических и программных средств, что

позволяет совершенствовать и модернизировать вычислительные системы без

коренных их переделок;

унификация и стандартизация технических и программных решений;

иерархия в организации управления процессами;

способность систем к адаптации, самонастройке и самоорганизации;

обеспечение необходимым сервисом пользователей при выполнении

вычислений.

1.4. Архитектура как набор взаимодействующих компонентов

Ранее область применения вычислительных систем определялась ее

быстродействием. Однако существует достаточно большое количество ВС,

обладающих равным быстродействием, но имеющих совершенно разные

способы представления данных, методы организации памяти, режимы работы,

системы команд, набор ВнУ и т. д. Таким образом, ВС имеет, кроме

быстродействия, ряд других характеристик, необычайно важных в той или иной

области применения. Это стало особенно заметно при переходе к ВС

четвертого и пятого поколений.

Совокупность таких характеристик и легла в основу понятия архитектуры

ВС. Архитектура ВС определяет основные функциональные возможности

системы, сферу применения (научно-техническая, экономическая, управление и

т. д.), режим работы (пакетный, мультипрограммный, разделения времени,

диалоговый и т. д.), характеризует параметры ВС (быстродействие, набор и

объем памяти, набор периферийных устройств н т. д.), особенности структуры

(одно-, многопроцессорная) и т. д. Составные части понятия «архитектура»

можно определить следующей схемой (Рисунок 1.3.).

Page 16: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

16

Рисунок 1.3.

1.5. Архитектура как интерфейс между уровнями физической системы

Архитектура первого уровня определяет, какие функции по обработке

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

оператору ЭВМ, администратору баз данных и т.д. Система взаимодействует с

внешним миром через два набора интерфейсов: языки (язык программирования,

язык оператора терминала, язык управления заданиями, язык общения с базой

данных, язык оператора ЭВМ) и системные программы (программы

редактирования, связи, оптимизации, восстановления и обновления

информации, интерпретации, управления и т.д., т.е. программы, созданные

разработчиком системы). Оба интерфейса должны быть созданы при разработке

архитектуры системы.

Уровни, определяемые интерфейсами внутри программного обеспечения,

могут быть представлены как архитектура программного обеспечения (Таблица

1.2.). К примеру, если прикладные задачи реализованы на языках

программирования, которые не входят в набор языков, предоставляемых

системой пользователю, то здесь речь может идти об архитектуре уровня,

позволяющего определить указанные языки.

Си

ст

ем

ы

пр

ог

ра

мм

ир

ов

ан

ия

Пр

ин

ци

пы

уп

ра

вл

ен

ия

Ал

го

ри

тм

ы в

ып

ол

не

ни

я

оп

ер

ац

ий

Ор

га

ни

за

ци

я п

ам

ят

и

Пр

ик

ла

дн

ое

пр

ог

ра

мм

но

е

об

ес

пе

че

ни

е

Си

ст

ем

ы к

ом

ан

д

Ба

зо

ва

я с

тр

ук

ту

ра

си

ст

ем

ы

Ор

га

ни

за

ци

я

вз

аи

мо

де

йс

тв

ия

с

вн

еш

ни

ми

ус

тр

ой

ст

ва

ми

Вычислительные и

логические возможности

Аппаратные

средства

Программное

обеспечение

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

Фо

рм

ат

ы д

ан

ны

х

Оп

ер

ац

ио

нн

ые

си

ст

ем

ы

Си

ст

ем

ы у

пр

ав

ле

ни

ям

и

за

да

ни

ям

и

Page 17: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

17

Таблица 1.2.

Архитектура вычислительных систем

Уровень Функции на данном

уровне

Интерфейсы на данном уровне

1. Система в

целом

Управление

вычислительным

процессом, прием

команд от оператора

или процесса.

Языки:

- оператора

- программирования

- базы данных

- управления

заданиями

Системные

программы:

- утилиты

- редакторы

- …

… … …

N. Уровень

управления

логическими

ресурсами

Управление БД,

файлами,

виртуальной

памятью, сетевой

телеобработкой

Драйверы доступа к данным и

управления ресурсами

N+1. Уровень

управления

физическими

ресурсами

Управление внешней

и оперативной

памятью, процессами

Драйверы и микросхемы

Контрольные вопросы

1.Какие основные компонента архитектуры ВС?

2.Сформулируйте закон Гроша.

3.Каким образом формируется связь стоимости и производительности ЭВМ?

4.Перечислите составные части понятия «архитектура».

5.Каким образом может быть представлена архитектура программного

обеспечения?

6.Основные принципы построения, закладываемые при создании ВС.

7.Перечислите составные части понятия «архитектура».

8.Сформулируйте определение вычислительной системы.

Page 18: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

18

Лекция 2.

Тема 2. Эволюция вычислительной техники

2.1. Теория эволюции компьютеров

Современное состояние вычислительной техники (ВТ) являет собой

результат многолетней эволюции. В последнее время вопросы развития ВТ

стали предметом особо пристального внимания ученых, свидетельством чего

служит активно развивающаяся новая область знаний, получившая название

«Теория эволюции компьютеров» (Computer evolution theory).

Создатели теории обратили внимание на сходство закономерностей

эволюции вычислительной техники и эволюции в биологии. В основу новой

науки положены следующие постулаты:

самозарождение «живых» вычислительных систем из «неживых»

элементов (в биологии это явление известно как абиогенез);

поступательное продвижение по древу эволюции — от

протопроцессорных (однопроцессорных) вычислительных машин к

полипроцессорным (многопроцессорным) вычислительным системам;

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

мутаций и вариаций;

отмирание устаревших технологий в результате естественного отбора;

закон Мура как подтверждение эволюции вычислительных систем.

По мнению специалистов в области теории эволюции компьютеров, изучение

закономерностей развития вычислительных машин и систем может, как и в

биологии, привести к ощутимым практическим результатам.

2.2. Закон Мура

19 апреля 1965 г., в журнале «Electronics» (vol. 39, № 8) в рубрике «Эксперты

смотрят в будущее» вышла ныне всемирно знаменитая статья Гордона Мура

(Gordon Moore) «Cramming more components onto integrated circuits»

(Объединение большего количества компонентов в интегральных схемах). В

этой статье Мур (будущий сооснователь корпорации Intel), работавший тогда

директором отдела разработок компании Fairchild Semiconductors, дал прогноз

развития микроэлектроники на ближайшие десять лет на основании анализа

шестилетнего развития микроэлектроники, предсказав, что количество

элементов на кристаллах электронных микросхем будет и далее удваиваться

каждый год.

Существует несколько интерпретаций закона Мура:

наиболее выгодное число транзисторов на кристалле удваивается каждый

год;

число транзисторов в производимых чипах удваивается каждые два года;

Page 19: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

19

технологически возможное число транзисторов на кристалле

микропроцессора удваивается каждые два года (Рисунок 2.1.);

производительность микропроцессоров удваивается каждые 18 мес.;

тактовая частота микропроцессоров удваивается каждые 18 мес.

Справедливости ради, следует признать, что так называемый закон Мура не

выполняется с точностью, достаточной для того, чтобы считать его не только

законом, но и эмпирической зависимостью.

Рисунок 2.1.

2.3. Дуализм в развитии техники

Развитие человека и общества неразрывно связано с прогрессом в технике

вообще и технике для вычислений, в частности. Имела и имеет место тенденция

к постоянному усилению физических и вычислительных возможностей

человека путем создания орудий, машин и систем машин. Установился

своеобразный дуализм в развитии техники, который иллюстрируется двумя

эволюционными «рядами» (Рисунок 2.2.):

Физический ряд

рычаг и простейшие

механические орудия

Машины (подъемные

краны и экскаваторы)

Конвейеры

(системы машин)

Page 20: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

20

Вычислительный ряд

Рисунок 2.2.

В истории вычислительной техники (ВТ) ясно выделяются два периода:

1. простейшие механические и электромеханические приборы и машины

для вычислений; (можно назвать «предысторией» или «древней историей»)

2. ЭВМ и параллельные вычислительные системы («новая и новейшая

история»).

2.4. Принципы фон-Неймана

Архитектура фон Неймана (англ. Von Neumann architecture) — широко

известный принцип совместного хранения программ и данных в памяти

компьютера. Вычислительные системы такого рода часто обозначают термином

«Машина фон Неймана», однако, соответствие этих понятий не всегда

однозначно.

В общем случае, когда говорят об архитектуре фон Неймана, подразумевают

физическое отделение процессорного модуля от устройств хранения программ

и данных.

Каноническую функциональную структуру ЭВМ (Рисунок 2.3.), связывают с

именем Дж. фон Неймана. Структура ЭВМ включает арифметико-логическое

устройство (АЛУ), память или запоминающее устройство (ЗУ), устройства

ввода (УВв) и вывода (УВыв) информации и устройство управления (УУ).

Рисунок 2.3.

Простейшие счетные

орудия

Механические и

электромеханические

вычислительные машины

ЭВМ Параллельные

вычислительные

системы и сети ЭВМ

ПАМЯТЬ

УСТРОЙСТВО

УПРАВЛЕНИЯ

АРИФМЕТИЧЕСКО-

ЛОГИЧЕСКОЕ

УСТРОЙСТВО

(АККУМУЛЯТОР)

ВВОД ВЫВОД

Схематичное изображение машины

фон Неймана

Page 21: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

21

Функциональное назначение устройств ЭВМ: АЛУ служит для выполнения

арифметических и логических операций над данными (операндами: числами

или словами, в частности, буквенными последовательностями), а также

операций условного и безусловного переходов; ЗУ используется для хранения

программ и данных; УВв – для ввода программ и данных, а УВыв – для вывода

из ЭВМ любой информации (в частности, результатов); УУ координирует

работу всех остальных устройств при выполнении программ.

Конструкция ЭВМ основывается на предложениях, выдвинутых Дж. фон

Нейманом (John von Neumann, 1903 – 57). Во время разработки машины

EDVAC, в середине 1945 г., Дж. фон Нейман написал 100-страничный отчет,

суммирующий результаты работ над ЭВМ. Этот отчет стал известен как первый

―набросок‖ ("First Draft of a Report on the EDVAC"). Отчет был недописан, в

нем не достает многих ссылок. Однако в своем отчете Дж. фон Нейман

достаточно ясно изложил принципы работы и функциональную структуру ЭВМ

("the working principles and functional structure of modern computers"). Главное

то, что он предложил отказаться от ручных переключателей, используемых при

программировании ENIAC, и хранить программу работы ЭВМ в ее

оперативном запоминающем устройстве (памяти) и модифицировать

программу с помощью самой же машины.

Опишем архитектурные принципы построения ЭВМ.

1. Программное управление работой ЭВМ. Программы состоят из

отдельных шагов – команд; команда осуществляет единичный акт

преобразования информации.

2. Условный переход. Это возможность перехода в процессе вычислений на

тот или иной участок программы в зависимости от промежуточных,

получаемых в ходе вычислений результатов (обычно в зависимости от знака

результата после завершения арифметической операции или от результата

выполнения логической операции).

3. Принцип хранимой программы предопределяет ее запоминание вместе с

исходными данными в одной и той же оперативной памяти.

4. Использование двоичной системы счисления для представления

информации в ЭВМ. Это существенно расширило номенклатуру физических

приборов и явлений, для применения в ЭВМ.

5. Иерархичность запоминающих устройств (ЗУ). С самого начала

развития ЭВМ существовало несоответствие между быстродействиями АУ и

оперативной памяти. Иерархичность ЗУ в ЭВМ является важным

компромиссом между емкостью, быстродействием, относительной дешевизной

и надежностью.

Эти принципы Дж. фон Неймана, не смотря на свою простоту и очевидность,

являются фундаментальными положениями, определившими на многие годы

бурное развитие вычислительной техники и кибернетики.

Page 22: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

22

2.5. Поколения ЭВМ

В качестве узловых моментов, определяющих появление нового поколения

ВТ, обычно выбираются революционные идеи или технологические прорывы,

кардинально изменяющие дальнейшее развитие средств автоматизации

вычислений. Одной из таких идей принято считать концепцию вычислительной

машины с хранимой в памяти программой, сформулированную Джоном фон

Нейманом. Взяв ее за точку отсчета, историю развития ВТ можно представить в

виде трех этапов:

1. До Неймановского периода;

2. Эры вычислительных машин и систем с фон-неймановской архитектурой;

3. Пост Неймановской эпохи — эпохи параллельных и распределенных

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

начинают играть отличные от фон-неймановских принципы организации

вычислительного процесса.

Значительно большее распространение, однако, получила привязка

поколений к смене технологий. Принято говорить о «механической» эре

(нулевое поколение) и последовавших за ней пяти поколениях ВС. Первые

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

систем: электронные лампы, полупроводниковые приборы, интегральные

схемы малой степени интеграции (ИМС), большие (БИС), сверхбольшие

(СБИС) и ультрабольшие (УБИС) интегральные микросхемы. Пятое поколение

в общепринятой интерпретации ассоциируют не столько с новой элементной

базой, сколько с интеллектуальными возможностями ВС. Работы по созданию

ВС пятого поколения велись в рамках четырех достаточно независимых

программ, осуществлявшихся учеными США, Японии, стран Западной Европы

и стран Совета экономической взаимопомощи. Ввиду того, что ни одна из

программ не привела к ожидаемым результатам, разговоры о ВС пятого

поколения понемногу утихают. Трактовка пятого поколения явно выпадает из

«технологического» принципа. С другой стороны, причисление всех ВС на базе

сверхбольших интегральных схем (СБИС) к четвертому поколению не

отражает принципиальных изменений в архитектуре ВС, произошедших за

последние годы. Чтобы в какой-то мере проследить роль таких изменений,

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

Попытаемся кратко охарактеризовать каждое из них, выделяя наиболее

значимые события.

Первое поколение (1937–1953)

На роль первой в истории электронной вычислительной машины в разные

периоды претендовало несколько разработок. Общим у них было

использование схем на базе электронно-вакуумных ламп вместо

электромеханических реле. Предполагалось, что электронные ключи будут

значительно надежнее, поскольку в них отсутствуют движущиеся части, однако

технология того времени была настолько несовершенной, что по надежности

Page 23: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

23

электронные лампы оказались ненамного лучше, чем реле. Однако у

электронных компонентов имелось одно важное преимущество: выполненные

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

электромеханических аналогов.

Второе поколение (1954–1962)

Второе поколение характеризуется рядом достижений в элементной базе,

структуре и программном обеспечении. Принято считать, что поводом для

выделения нового поколения ВМ стали технологические изменения, и, главным

образом, переход от электронных ламп к полупроводниковым диодам и

транзисторам со временем переключения порядка 0,3 мс.

Третье поколение (1963–1972)

Третье поколение ознаменовалось резким увеличением вычислительной

мощности ВМ, ставшим следствием больших успехов в области архитектуры,

технологии и программного обеспечения. Основные технологические

достижения связаны с переходом от дискретных полупроводниковых элементов

к интегральным микросхемам и началом применения полупроводниковых

запоминающих устройств, начинающих вытеснять ЗУ на магнитных

сердечниках. Существенные изменения произошли и в архитектуре ВМ. Это,

прежде всего, микропрограммирование как эффективная техника построения

устройств управления сложных процессоров, а также наступление эры

конвейеризации и параллельной обработки. В области программного

обеспечения определяющими вехами стали первые операционные системы и

реализация режима разделения времени.

Четвертое поколение (1972–1984)

Отсчет четвертого поколения обычно ведут с перехода на интегральные

микросхемы большой (large-scale integration, LSI) и сверхбольшой (very large-

scale integration, VLSI) степени интеграции. К первым относят схемы,

содержащие около 1000 транзисторов на кристалле, в то время как число

транзисторов на одном кристалле VLSI имеет порядок 100 000. При таких

уровнях интеграции стало возможным уместить в одну микросхему не только

центральный процессор, но и вычислительную машину (ЦП, основную память

и систему ввода/вывода).

Пятое поколение (1984–1990)

Главным поводом для выделения вычислительных систем второй половины

80-х годов в самостоятельное поколение стало стремительное развитие ВС с

сотнями процессоров, ставшее побудительным мотивом для прогресса в

области параллельных вычислений. Ранее параллелизм вычислений выражался

лишь в виде конвейеризации, векторной обработки и распределения работы

между небольшим числом процессоров. Вычислительные системы пятого

поколения обеспечивают такое распределение задач по множеству

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

отдельного пользователя.

Page 24: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

24

В рамках пятого поколения в архитектуре вычислительных систем

сформировались два принципиально различных подхода: архитектура с

совместно используемой памятью и архитектура с распределенной памятью.

Шестое поколение (1990–)

На ранних стадиях эволюции вычислительных средств смена поколений

ассоциировалась с революционными технологическими прорывами. Каждое из

первых четырех поколений имело четко выраженные отличительные признаки

и вполне определенные хронологические рамки. Последующее деление на

поколения уже не столь очевидно и может быть понятно лишь при

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

поколения в эволюции ВТ — это отражение нового качества, возникшего в

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

образом в архитектуре вычислительных систем и, в несколько меньшей мере, в

сфере технологий.

Поводом для начала отсчета нового поколения стали значительные успехи в

области параллельных вычислений, связанные с широким распространением

вычислительных систем с массовым параллелизмом. Особенности организации

таких систем, обозначаемых аббревиатурой MPP (massively parallel processing),

будут рассмотрены в последующих лекциях. Здесь же упрощенно определим их

как совокупность большого количества (до нескольких тысяч)

взаимодействующих, но достаточно автономных вычислительных машин. По

вычислительной мощности такие системы уже успешно конкурируют с

суперЭВМ, которые, как ранее отмечалось, по своей сути являются векторными

ВС. Появление вычислительных систем с массовым параллелизмом дало

основание говорить о производительности, измеряемой в TFLOPS (1 TFLOPS

соответствует 1012

операциям с плавающей запятой в секунду).

Вторая характерная черта шестого поколения — резко возросший уровень

рабочих станций. В процессорах новых рабочих станций успешно совмещаются

RISC-архитектура, конвейеризация и параллельная обработка. Некоторые

рабочие станции по производительности сопоставимы с суперЭВМ четвертого

поколения. Впечатляющие характеристики рабочих станций породили интерес

к гетерогенным (неоднородным) вычислениям, когда программа, запущенная

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

момент другие станции, после чего вычисления распараллеливаются и на эти

простаивающие станции.

Наконец, третьей приметой шестого поколения в эволюции ВТ стал

взрывной рост глобальных сетей. Завершая обсуждение эволюции ВТ,

отметим, что верхняя граница шестого поколения хронологически пока не

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

характеристику новые коррективы. Не исключено также, что последующие

события дадут повод говорить и об очередном поколении.

Page 25: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

25

Контрольные вопросы

1. Какие положения заложены в теорию эволюции компьютеров?

2. Сформулируйте закон Мура.

3.Сформулируйте принцип дуализма в развитии техники.

4.Сформулируйте принципы фон Неймана.

5.Каковы основные архитектурные принципы построения ЭВМ?

6.Каковы этапы развития вычислительной техники?

7.Каковы основные характеристики вычислительных средств шестого

поколения?

Page 26: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

26

Лекция 3.

Тема 3. Архитектура системы команд. CISC и RISC архитектуры

процессоров

Системой команд вычислительной машины называют полный перечень

команд, которые способна выполнять данная ВМ. В свою очередь, под

архитектурой системы команд (АСК) принято определять те средства

вычислительной машины, которые видны и доступны программисту. АСК

можно рассматривать как линию согласования нужд разработчиков

программного обеспечения с возможностями создателей аппаратуры

вычислительной машины.

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

эффективным образом, то есть за минимальное время, и здесь важнейшую роль

играет правильный выбор архитектуры системы команд.

3.1. Многоуровневая компьютерная организация

Последовательность команд, описывающих решение определенной задачи,

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

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

Эти примитивные команды в совокупности составляют язык, на котором

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

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

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

назначения компьютера, от того, какие задачи он должен выполнять. Обычно

стараются сделать машинные команды как можно проще, чтобы избежать

сложностей при конструировании компьютера и снизить затраты на

необходимую электронику. Так как большинство машинных языков очень

примитивны, использовать их трудно и утомительно.

Это простое наблюдение с течением времени привело к построению ряда

уровней абстракций, каждая из которых надстраивается над абстракцией более

низкого уровня. Именно таким образом можно преодолеть сложности при

общении с компьютером.

Многоуровневая компьютерная организация – подход, при котором

рассматривается ряд абстракций, каждая из которых надстраивается над

абстракцией более низкого уровня (Рисунок 3.1.).

Большинство современных компьютеров состоит из двух и более уровней.

Существуют машины даже с шестью уровнями.

Уровень 0. Цифровой логический уровень. Представляет собой аппаратное

обеспечение машины. Его электронные схемы выполняют программы,

написанные на языке уровня 1.

Ради полноты нужно упомянуть о существовании еще одного уровня,

расположенного ниже уровня 0. Этот уровень не показан на рисунке, так как он

попадает в сферу электронной техники. Он называется уровнем физических

Page 27: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

27

устройств. На этом уровне находятся транзисторы, которые являются

примитивами для разработчиков компьютеров. Объяснять, как работают

транзисторы, — задача физики.

Рисунок 3.1. Многоуровневая компьютерная организация

Объекты на уровне 0 называются вентилями. Вентили состоят из аналоговых

компонентов (транзисторы) и смоделированы как цифровые средства, на входе

у которых цифровые сигналы (или набор 0 и 1), а на выходе – результат

простых функций («И» или «ИЛИ»). Каждый вентиль формируется из

нескольких транзисторов. Несколько вентилей формируют 1 бит памяти,

который может содержать 0 или 1. Биты памяти, объединенные в группы,

например, по 16,32 или 64, формируют регистры. Каждый регистр может

содержать одно двоичное число до определенного предела. Из вентилей также

может состоять сам компьютер.

Уровень 1. Микроархитектурный уровень. Представляет собой локальную

память ( совокупность регистров) и схему, называемую АЛУ (арифметико-

логическое устройство). АЛУ выполняет простые арифметические операции.

Регистры вместе с АЛУ формируют тракт данных, по которому поступают

данные. Основная операция тракта данных состоит в следующем. Выбирается

один или два регистра, АЛУ производит над ними какую-либо операцию,

например сложения, а результат помещается в один из этих регистров.

На некоторых машинах работа тракта данных контролируется особой

программой, которая называется микропрограммой. На других машинах тракт

данных контролируется аппаратными средствами. Раньше этот уровень можно

было назвать «уровнем микропрограммирования», потому что раньше он почти

всегда был интерпретатором программного обеспечения.

Уровень 2. Уровень архитектуры команд. Этот уровень включает набор

машинных команд, которые выполняются микропрограммой-интерпретатором

или аппаратным обеспечением.

Уровень 3. Уровень операционной системы. Этот уровень включает набор

команд уровня 2. Оставшаяся часть команд интерпретируется операционной

системой. Особенности уровня: набор новых команд, собственная организация

Page 28: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

28

памяти, способность выполнять две и более программ одновременно и др. При

построении третьего уровня возможно больше вариантов, чем при построении

первого и второго.

Между третьим и четвертым уровнями есть существенная разница. Нижние

три уровня конструируются не для того, чтобы с ними работал обычный

программист. Они изначально предназначены для работы интерпретаторов и

трансляторов, поддерживающих более высокие уровни. Эти трансляторы и

интерпретаторы составляются так называемыми системными программистами,

которые специализируются на разработке и построении новых виртуальных

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

программистов, решающих конкретные задачи.

Еще одно изменение, появившееся на уровне 4, — способ, которым

поддерживаются более высокие уровни. Уровни 2 и 3 обычно

интерпретируются, а уровни 4, 5 и выше обычно, хотя и не всегда,

поддерживаются транслятором.

Другое различие между уровнями 1,2,3 и уровнями 4,5 и выше —

особенность языка. Машинные языки уровней 1,2 и 3 — цифровые.

Программы, написанные на этих языках, состоят из длинных рядов цифр,

которые удобны для компьютеров, но совершенно неудобны для людей.

Начиная с четвертого уровня, языки содержат слова и сокращения, понятные

человеку.

Уровень 4. Уровень языка ассемблера. Представляет собой символическую

форму одного из языков более низкого уровня. На этом уровне можно писать

программы в приемлемой для человека форме. Эти программы сначала

транслируются на язык уровня 1, 2 или 3, а затем интерпретируются

соответствующей виртуальной или фактически существующей машиной.

Программа, которая выполняет трансляцию, называется ассемблером.

Уровень 5. Язык высокого уровня. Обычно состоит из языков, разработанных

для прикладных программистов. Такие языки называются языками высокого

уровня. Существуют сотни языков высокого уровня. Наиболее известные среди

них — BASIC, С, C++, Java, LISP и Prolog. Программы, написанные на этих

языках, обычно транслируются на уровень 3 или 4. Трансляторы, которые

обрабатывают эти программы, называются компиляторами. Отметим, что

иногда также используется метод интерпретации. Например, программы на

языке Java обычно интерпретируются.

3.2. Архитектура системы команд

В упрощенной трактовке время выполнения программы (Tвыч) можно

определить через число команд в программе (Nком) среднее количество тактов

процессора, приходящихся на одну команду (CPI), и длительность тактового

периода:

Твыч = NкомxCPIxТпр

Каждая из составляющих выражения зависит от одних аспектов архитектуры

системы команд и, в свою очередь, влияет на другие, что свидетельствует о

Page 29: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

29

необходимости чрезвычайно ответственного подхода к выбору АСК (Рисунок

3.2.).

Рисунок 3.2. Взаимосвязь между системой команд и факторами,

определяющими эффективность вычислений

3.3. CISC и RISC архитектуры процессоров

Уровень архитектуры команд включает набор машинных команд, которые

выполняются микропрограммой-интерпретатором или аппаратным

обеспечением.

Двумя основными архитектурами набора команд, используемыми

компьютерной промышленностью на современном этапе развития

вычислительной техники, являются архитектуры CISC и RISC (Таблица 3.1.).

CISC

– Complete Instruction Set Computer (CISC-архитектура, компьютер на

микропроцессоре с полным набором команд)

RISC

– Reduced Instruction Set Computer (RISC-архитектура, компьютер с

сокращенным набором команд)

Таблица 3.1.

CISC RISC

Основоположник,

модель

IBM, IBM/360 CDC6600 (Крэй)

Лидер, сегодня x86 Alpha, PowerPC,

SPARC

Рынок Персональные ЭВМ

(благодаря

совместимости с

программным

обеспечением младших

моделей, общая

стоимость которого - в

Высокопроизводите

льные компьютеры

(стоимость ПО не

настолько

существенна)

Исходный код на языке

высокого уровня

Оптимизирующий

компилятор

Объективный код на

машинном языке

Выборка

команд

Декодировани

е команд

Исполнение

команд

Система

команд

Nком

CPI и Tпр

Page 30: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

30

начале 90-х годов -

составила несколько

миллиардов долларов

США)

Реализация Микропрограммная

(интерпретация)

Аппаратная

Число регистров

общего назначения

небольшое большое

Формат команд большое количество

форматов команд

различной разрядности

команды

фиксированной

длины и

фиксированного

формата

Адресация большое количество

методов адресации,

преобладание

двухадресного формата

команд

простые методы

адресации,

трехадресный

формат команд

Основоположник, модель

Организация первых моделей процессоров - i8086/8088 - была направлена, в

частности, на сокращение объѐма программ, критичного для систем того

времени, отличавшихся малой оперативной памятью. Расширение спектра

операций, реализуемых системой команд, позволило уменьшить размер

программ, а также трудоѐмкость их написания и отладки. Однако увеличение

числа команд повысило трудоѐмкость разработки их топологических и

микропрограммных реализаций. Последнее проявилось в удлинении сроков

разработки CISC-процессоров, а также в проявлении различных ошибок в их

работе.

Эти недостатки обусловили необходимость разработки альтернативной

архитектуры - RISC, нацеленной, прежде всего, на снижение нерегулярности

потока команд уменьшением их общего количества.

Лидер, сегодня

Процессоры Intel, начиная с 486-го, содержат ядро RISC, которое выполняет

самые простые (и обычно самые распространенные) команды за один цикл

тракта данных, а по обычной технологии CISC интерпретируются более

сложные команды. В результате обычные команды выполняются быстро, а

более сложные и редкие — медленно. Хотя при таком «гибридном» подходе

работа происходит не так быстро, как у RISC, данная архитектура имеет ряд

преимуществ, поскольку позволяет использовать старое программное

обеспечение без изменений.

Первая модель процессора Intel, которая вплотную приблизилась к

архитектуре RISC – PentiumPRO (Precision RISC Organization - Полноценная

RISC-архитектура).

Page 31: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

31

Реализация

Устранение уровня интерпретации обеспечивает высокую скорость

выполнения большинства команд. В компьютерах типа CISC более сложные

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

как последовательность микрокоманд. Эта дополнительная операция снижает

скорость работы машины, но она может быть применима для редко

встречающихся команд.

Число регистров

Развитие архитектуры RISC в значительной степени определялось

прогрессом в области создания оптимизирующих компиляторов. Именно

современная техника компиляции позволяет эффективно использовать

преимущества большего числа регистров, конвейерной организации и большей

скорости выполнения команд.

Большое число регистров позволяет большему объему данных храниться в

регистрах на процессорном кристалле большее время и упрощает работу

компилятора по распределению регистров под переменные.

Формат команд

Команды должны легко декодироваться. Предел количества вызываемых

команд в секунду зависит от процесса декодирования отдельных команд.

Декодирование команд осуществляется для того, чтобы определить, какие

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

средства, которые способствуют упрощению этого процесса. Например,

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

количеством полей. Чем меньше разных форматов команд, тем лучше.

Адресация

Простые методы адресации позволяют резко упростить декодирование

команд. Организация регистровой структуры – основное достоинство и

основная проблема RISC. Практически любая реализация RISC-архитектуры

использует трехместные операции обработки, в которых результат и два

операнда имеют самостоятельную адресацию – R1 := R2, R3. Это позволяет без

существенных затрат времени выбрать операнды из адресуемых оперативных

регистров и записать в регистр результат операции. Кроме того, трехместные

операции дают компилятору большую гибкость по сравнению с типовыми

двухместными операциями формата «регистр – память» архитектуры CISC. В

сочетании с быстродействующей арифметикой RISC-операции типа «регистр –

регистр» становятся очень мощным средством повышения производительности

процессора.

3.4. Развитие архитектур современных МП

Рассмотрим основные этапы эволюции микропроцессорных архитектур

(Рисунок 3.3.). С развитием архитектур менялся состав операций и их

сложность (CISCи RISC), а также место хранения операндов, что влияет на

количество и длину адресов, указываемых в адресной части команд обработки

данных.

Page 32: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

32

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

В ней для хранения одного из операндов арифметической или логической

операции в процессоре имеется выделенный регистр — аккумулятор. В этот же

регистр заносится и результат операции. Поскольку адрес одного из операндов

предопределен, в командах обработки достаточно явно указать местоположение

только второго операнда. Изначально оба операнда хранятся в основной

памяти, и до выполнения операции один из них нужно загрузить в аккумулятор.

После выполнения команды обработки результат находится в аккумуляторе и,

если он не является операндом для последующей команды, его требуется

сохранить в ячейке памяти.

Для загрузки в аккумулятор содержимого ячейки х предусмотрена команда

загрузки loadx, а запись содержимого аккумулятора в ячейку х происходит при

помощи команды storex.

Достоинствами аккумуляторной АСК можно считать короткие команды и

простоту декодирования команд. Однако наличие всего одного регистра

порождает многократные обращения к основной памяти.

Второе поколение (1954–1962) ознаменовалось переходом от электронных

ламп к полупроводниковым диодам и транзисторам со временем переключения

порядка 0.3 мс. Появление регистрового файла позволило организовать

машины либо с регистровой архитектурой, либо со стековой архитектурой.

Тогда стековая архитектура превалировала над регистровой, благодаря очень

компактному коду. Безоперандные команды брали аргументы из стека и клали

результат в стек. Для кодирования такой команды достаточно нескольких бит.

В условиях ограниченности объѐма доступной памяти это было очень веским

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

устройств привело к резкому увеличению объѐма оперативной памяти и,

соответственно, к бесперспективности стековой архитектуры.

Рисунок 3.3. Этапы эволюции микропроцессорных архитектур

Page 33: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

33

Стековая архитектура

Стек образует множество логически взаимосвязанных ячеек,

взаимодействующих по принципу «последним вошел, первым вышел» Last In

First Out).

Верхнюю ячейку называют вершиной стека. Для работы со стеком

предусмотрены две операции: push(проталкивание данных в стек) и pop

(выталкивание данных из стека). Операнды перед обработкой помещаются в

две верхних ячейки стековой памяти. Результат операции заносится в стек.

Для записи в стек и чтение из стека в ячейку с адресом x предусмотрены две

команды – pushx и popx.

Верхние ячейки стековой памяти, где хранятся операнды и куда заносится

результат операции, как правило, делаются более быстродействующими и

размещаются в процессоре, в то время как остальная часть стека может

располагаться в основной памяти и частично даже на магнитном диске.

Достоинства стековой архитектуры:

Сокращение адресной части команд, поскольку все операции

производятся через вершину стека (не нужно указывать адреса операндов и

результата в командах арифметической и логической обработки информации).

Компактный код программы.

Простое декодирование команд.

Недостатки стековой архитектуры:

Стековая архитектура не предполагает произвольного доступа к памяти,

из-за чего компилятору трудно создать эффективный программный код, хотя

создание самих компиляторов упрощается.

Стек становится «узким местом» ВМ в плане повышения

производительности. В силу упомянутых причин, данный вид АСК долгое

время считался неперспективным и встречался, главным образом, в

вычислительных машинах 1960-х годов, например в ВМ фирмы Burroughs

(B5500, В6500) или фирмы Hewlett-Packard HP 3000/70).

Последние события в области вычислительной техники свидетельствуют о

возрождении интереса к стековой архитектуре ВМ. Связано это с

популярностью языка Java и расширением сферы применения языка Forth,

семантике которых наиболее близка именно стековая архитектура. Появились

архитектуры с безоперандным набором команд ROSC, Removed Operand Set

Computer (Cтековую машину IGNITE компании Patriot Scientist), которые по-

сути являются стековыми.

Регистровая архитектура

Третье поколение вычислительной техники (1963–1972) ознаменовалось

переходом от дискретных полупроводниковых элементов к интегральным

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

принципы конвейеризации и суперскалярности (принципы мелкозернистого

Page 34: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

34

параллелизма). Появляются многозадачные ОС. Архитектура системы команд

(ISA) сильно развивается, предоставляя программистам более развитые

команды. Такую ISA впоследствии назовут CISC.

В машинах с регистровой архитектурой процессор включает в себя массив

регистров (регистровый файл), известных как регистры общего назначения

(РОН). Эти регистры, в каком-то смысле, можно рассматривать как явно

управляемый кэш для хранения недавно использовавшихся данных.

Размер регистров обычно фиксирован и совпадает с размером машинного

слова. К любому регистру можно обратиться, указав его номер. Количество

РОН в архитектурах типа CISC обычно невелико (от 8 до 32), и для

представления номера конкретного регистра необходимо не более пяти

разрядов, благодаря чему в адресной части команд обработки допустимо

одновременно указать номера двух, а зачастую и трех регистров (двух

регистров операндов и регистра результата). RISC-архитектура предполагает

использование существенно большего числа РОН (до нескольких сотен),

однако типичная для таких ВМ длина команды (обычно 32 разряда) позволяет

определить в команде до трех регистров.

Регистровая архитектура допускает расположение операндов в одной из двух

запоминающих сред: основной памяти или регистрах (Таблица 3.2.). С учетом

возможного размещения операндов в рамках регистровых АСК выделяют три

подвида команд обработки:

регистр-регистр;

регистр-память;

память-память.

В варианте «регистр-регистр» операнды могут находиться только в

регистрах. В них же засылается и результат. Подтип «регистр-память»

предполагает, что один из операндов размещается в регистре, а второй в

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

типа «память-память» оба операнда хранятся в основной памяти.

Таблица 3.2.

Вариант Достоинства Недостатки

Регистр-

регистр

Простота реализации,

фиксированная длина команд,

простая модель формирования

объектного кода при

компиляции программ,

возможность выполнения всех

команд за одинаковое

количество тактов

Большая длина объектного кода,

из-за фиксированной длины

команд часть разрядов в коротких

командах не используется

Page 35: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

35

Регистр-

память

Данные могут быть доступны

без загрузки в регистры

процессора, простота

кодирования команд, объектный

код получается достаточно

компактным

Потеря одного из операндов при

записи результата, длинное поле

адреса памяти в коде команды

сокращает место под помер

регистра, что ограничивает общее

число РОН. СРI зависит от места

размещения операнда

Память-

память

Компактность объектного кода,

малая потребность в регистрах

для хранения промежуточных

данных

Разнообразие форматов команд и

времени их исполнения, низкое

быстродействие из-за обращения к

памяти

Вариант «регистр-регистр» является основным в вычислительных машинах

типа RISC. Команды типа «регистр-память» характерны для CISC-машин.

Наконец, вариант «память-память» считается неэффективным, хотя и остается в

наиболее сложных моделях машин класса CISC.

К достоинствам регистровых АСК следует отнести: компактность

получаемого кода, высокую скорость вычислений за счет замены обращений к

основной памяти на обращения к быстрым регистрам. С другой стороны,

данная архитектура требует более длинных инструкций по сравнению с

аккумуляторной архитектурой. В наши дни этот вид архитектуры системы

команд является преобладающим.

Архитектура с выделенным доступом к памяти

В архитектуре с выделенным доступом к памяти обращение к основной

памяти возможно только с помощью двух специальных команд: load и store. В

английской транскрипции данную архитектуру называют Load/Store

architecture. Команда load (загрузка) обеспечивает считывание значения из

основной памяти и занесение его в регистр процессора (в команде обычно

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

противоположном направлении производится командой store (сохранение).

АСК с выделенным доступом к памяти характерна для всех вычислительных

машин с RISC-архитектурой. Команды в таких ВМ, как правило, имеют длину

32 бита и трехадресный формат.

В качестве примеров вычислительных машин с выделенным доступом к

памяти можно отметить HP PA-RISC, IBM RS/6000, SPARC, MIPS R4000, DEC

Alpha и т. д. К достоинствам АСК следует отнести простоту декодирования и

исполнения команды.

Четвѐртое поколение (1972–1984) осуществило переход на СБИС (тысячи

транзисторов на одном кристалле). Появление языков высокого уровня привело

к резкому снижению востребованности CISC инструкций, так как компиляторы

использовали только небольшое подмножество из них. Оказалось

целесообразным перейти к архитектуре с сокращѐнным набором команд (RISC)

Page 36: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

36

и использовать высвобожденные ресурсы (транзисторы) для улучшения

количественных характеристик CPU.

Контрольные вопросы

1.Что называется системой команд вычислительной машины?

2.Сформулируйте подход многоуровневой компьютерной организации.

3.Что представляет собой микроархитектурный уровень?

4.Что такое архитектуры CISC и RISC?

5.В чем заключается основное достоинство основное достоинство RISC?

6.Сформулируйте основные этапы эволюции микропроцессорных архитектур.

7.В чем основные достоинства архитектуры с выделенным доступом к

памяти?

8.Сформулируйте принцип работы стековой архитектуры.

Page 37: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

37

Лекция 4.

Тема 4. Архитектура микропроцессоров

SSE (англ. Streaming SIMD Extensions, потоковое SIMD-расширение

процессора) — это SIMD набор инструкций.

MMX (Multimedia Extensions — мультимедийные расширения) —

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

характерные для процессов кодирования/декодирования потоковых

аудио/видео данных действия за одну машинную инструкцию.

3DNow! — дополнительное расширение MMX для процессоров AMD,

начиная с AMD K6 3D.

Суперскалярность — архитектура вычислительного ядра,

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

множество исполнительных блоков. Планирование исполнения потока команд

является динамическим и осуществляется самим вычислительным ядром.

Hyper-threading (англ. Hyper-threading — гиперпоточность). Торговая

марка компании Intel для реализации технологии «одновременной

мультипоточности». Hyper-Threading – это название технологии,

существовавшей и ранее вне x86 мира, технологии одновременной

многопоточности (Simultaneous Multi-Threading, SMT). Идея этой технологии

проста. Один физический процессор представляется операционной системе как

два логических процессора, и операционная система не видит разницы между

одним SMT процессором или двумя обычными процессорами. В обоих случаях

операционная система направляет потоки как на двухпроцессорную систему.

Далее все вопросы решаются на аппаратном уровне. В процессоре с Hyper-

Threading каждый логический процессор имеет свой собственный набор

регистров (включая и отдельный счетчик команд), а чтобы не усложнять

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

выборки/декодирования в двух потоках. То есть такие инструкции

выполняются поочередно. Параллельно же выполняются лишь обычные

команды.

Многоядерность — наличие двух и более вычислительных ядер на

одном процессорном кристалле или в одном корпусе в центральном

процессоре. Во всех существующих на сегодняшний день многоядерных

процессорах кэш-память первого уровня у каждого ядра своя, а кэш 2-го уровня

существует в нескольких вариантах:

1. разделяемый — кэш расположен на одном с обоими ядрами кристалле и

доступен каждому из них в полном объѐме. Используется в процессорах

семейств Intel Core.

2. индивидуальный — отдельные кэши равного объѐма, интегрированные в

каждое из ядер. Обмен данными из кэшей L2 между ядрами осуществляется

через контроллер памяти — интегрированный (Athlon 64 X2) или внешний

(Pentium D).

Page 38: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

38

Конвейеризация (или конвейерная обработка) в общем случае

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

части, называемые ступенями, и выделении для каждой из них отдельного

блока аппаратуры. Так обработку любой машинной команды можно разделить

на несколько этапов (несколько ступеней), организовав передачу данных от

одного этапа к следующему. При этом конвейерную обработку можно

использовать для совмещения этапов выполнения разных команд.

Производительность при этом возрастает благодаря тому, что одновременно на

различных ступенях конвейера выполняются несколько команд. Конвейерная

обработка такого рода широко применяется во всех современных

быстродействующих процессорах.

Примеры конвейерной обработки: выполнение циклов команд, арифметика

чисел с плавающей точкой, циклы.

Выполнение типичной команды можно разделить на следующие этапы:

1. Выборка команды - IF (по адресу, заданному счетчиком команд, из

памяти извлекается команда);

2. Декодирование команды / выборка операндов из регистров - ID;

3. Выполнение операции / вычисление эффективного адреса памяти - EX;

4. Обращение к памяти - MEM;

5. Запоминание результата - WB.

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

(регламентировано стандартом IEEE 754):

1. Вызов операндов

2. Выравнивание экспоненты

3. Операция

4. Нормализация результата

Предсказание ветвлений. В любой более-менее сложной программе

присутствуют команды условного перехода: «Если некое условие истинно —

перейти к исполнению одного участка кода, если нет — другого». До тех пор,

пока не станет известно, какой участок кода после условного перехода

окажется «актуальным» — его невозможно начать декодировать и исполнять

(см. внеочередное исполнение). Для того чтобы как-то примирить концепцию

внеочередного исполнения с командами условного перехода, предназначается

специальный блок: блок предсказания ветвлений.

Он пытается предсказать, на какой участок кода укажет команда условного

перехода, ещѐ до того, как она будет исполнена. Процессором производятся

вполне реальные действия: предсказанный участок кода загружается в кэш

(если он там отсутствует), и даже начинается декодирование и выполнение его

команд. Причѐм среди выполняемых команд также могут содержаться

инструкции условного перехода, и их результаты тоже предсказываются, что

порождает целую цепочку из пока не проверенных предсказаний! Разумеется,

Page 39: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

39

если блок предсказания ветвлений ошибся, вся проделанная в соответствии с

его предсказаниями работа просто аннулируется.

Алгоритмы, по которым работает блок предсказания ветвлений,

преимущественно просты. Чаще всего команда условного перехода встречается

в циклах: некий счѐтчик принимает значение X, и после каждого прохождения

цикла значение счѐтчика уменьшается на единицу. Соответственно, до тех пор,

пока значение счѐтчика больше нуля — осуществляется переход на начало

цикла, а после того, как он становится равным нулю — исполнение

продолжается дальше. Блок предсказания ветвлений просто анализирует

результат выполнения команды условного перехода, и считает, что если N раз

подряд результатом стал переход на определѐнный адрес — то и в N+1 случае

будет осуществлѐн переход туда же. Однако, несмотря на весь примитивизм,

данная схема работает просто замечательно: например, в случае, если счѐтчик

принимает значение 100, а «порог срабатывания» предсказателя ветвлений (N)

равен двум переходам подряд на один и тот же адрес — легко заметить, что 97

переходов из 98 будут предсказаны правильно!

Разумеется, несмотря на достаточно высокую эффективность простых

алгоритмов, механизмы предсказания ветвлений в современных CPU всѐ равно

постоянно совершенствуются и усложняются — но тут уже речь идѐт о борьбе

за единицы процентов: например, за то, чтобы повысить эффективность работы

блока предсказания ветвлений с 95 процентов до 97, или даже с 97% до 99...

Предвыборка данных. Блок предвыборки данных (Prefetch) очень похож

по принципу своего действия на блок предсказания ветвлений — с той только

разницей, что в данном случае речь идѐт не о коде, а о данных. Общий принцип

действия такой же: если встроенная схема анализа доступа к данным в ОЗУ

решает, что к некоему участку памяти, ещѐ не загруженному в кэш, скоро будет

осуществлѐн доступ — она даѐт команду на загрузку данного участка памяти в

кэш ещѐ до того, как он понадобится исполняемой программе. Результативно

работающий блок предвыборки позволяет существенно сократить время

доступа к нужным данным, и, соответственно, повысить скорость исполнения

программы. К слову: грамотный Prefetch очень хорошо компенсирует высокую

латентность подсистемы памяти, подгружая нужные данные в кэш, и тем

самым, нивелируя задержки при доступе к ним, если бы они находились не в

кэше, а в основном ОЗУ.

Однако, разумеется, в случае ошибки блока предвыборки данных, неизбежны

негативные последствия: загружая де-факто «ненужные» данные в кэш, Prefetch

вытесняет из него другие (быть может, как раз нужные). Кроме того, за счѐт

«предвосхищения» операции считывания, создаѐтся дополнительная нагрузка

на контроллер памяти (де-факто, в случае ошибки — совершенно бесполезная).

Алгоритмы Prefetch, как и алгоритмы блока предсказания ветвлений, тоже не

блещут интеллектуальностью: как правило, данный блок стремится отследить,

не считывается ли информация из памяти с определѐнным «шагом» (по

адресам), и на основании этого анализа пытается предсказать, с какого адреса

будут считываться данные в процессе дальнейшей работы программы.

Впрочем, как и в случае с блоком предсказания ветвлений, простота алгоритма

Page 40: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

40

вовсе не означает низкую эффективность: в среднем, блок предвыборки данных

чаще «попадает», чем ошибается (и это, как и в предыдущем случае, прежде

всего связано с тем, что «массированное» чтение данных из памяти, как

правило происходит в процессе исполнения различных циклов).

4.1. Архитектура VLIW

Архитектура с командными словами сверхбольшой длины или со

сверхдлинными командами (VLIW, Very Long Instruction Word) известна с

начала 80-х из ряда университетских проектов, но только сейчас, с развитием

технологии производства микросхем она нашла свое достойное воплощение.

VLIW - это набор команд, организованных наподобие горизонтальной

микрокоманды в микропрограммном устройстве управления (Рисунок 4.1.).

Идея VLIW базируется на том, что задача эффективного планирования

параллельного выполнения нескольких команд возлагается на «разумный»

компилятор. Такой компилятор вначале исследует исходную программу с

целью обнаружить все команды, которые могут быть выполнены

одновременно, причем так, чтобы это не приводило к возникновению

конфликтов. В процессе анализа компилятор может даже частично имитировать

выполнение рассматриваемой программы. Наследующем этапе компилятор

пытается объединить такие команды в пакеты, каждый из которых

рассматривается так одна сверхдлинная команда. Объединение нескольких

простых команд в одну сверхдлинную производится по следующим правилам:

количество простых команд, объединяемых в одну команду

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

(исполнительных) блоков (ФБ);

в сверхдлинную команду входят только такие простые команды, которые

исполняются разными ФБ, то есть обеспечивается одновременное исполнение

всех составляющих сверхдлинной команды.

Длина сверхдлинной команды обычно составляет от 256 до 1024 бит. Такая

метакоманда содержит несколько полей (по числу образующих ее простых

команд), каждое из которых описывает операцию для конкретного

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

формат сверхдлинной команды и взаимосвязь между ее полями и ФБ,

реализующими отдельные операции.

Как видно из рисунка, каждое поле сверхдлинной команды отображается на

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

аппаратуры блока исполнения команд.

VLIW-архитектуру можно рассматривать как статическую суперскалярную

архитектуру. Имеется в виду, что распараллеливание кода производится на

этапе компиляции, а не динамически во время исполнения. То, что в

выполняемой сверхдлинной команде исключена возможность конфликтов,

позволяет предельно упростить аппаратуру VLIW-процессора и, как следствие,

добиться более высокого быстродействия.

Page 41: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

41

Рисунок 4.1. Архитектура VLIW

В качестве простых команд, образующих сверхдлинную, обычно

используются команды RISC-типа, поэтому архитектуру VLIW иногда

называют пocтRISC-apхитектурой. Максимальное число полей в сверхдлинной

команде равно числу вычислительных устройств и обычно колеблется в

диапазоне от 3 до 20. Все вычислительные устройства имеют доступ к данным,

хранящимся в едином многопортовом регистровом файле. Отсутствие сложных

аппаратных механизмов, характерных для суперскалярных процессоров

(предсказание переходов, внеочередное исполнение и т. д.), дает значительный

выигрыш в быстродействии и возможность более эффективно использовать

площадь кристалла. Подавляющее большинство цифровых сигнальных

процессоров и мультимедийных процессоров с производительностью более 1

млрд операций/с базируется на VLIW-архитектуре. Серьезная проблема VLIW -

усложнение регистрового файла и связей этого файла с вычислительными

устройствами.

Преимущества. Использование компилятора позволяет устранить

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

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

обнаруживать и устранять "на лету". Отсутствие зависимостей между

командами в коде, сформированном компилятором, ведет к упрощению

аппаратных средств процессора и за счет этого к существенному подъему его

быстродействия. Наличие множества функциональных блоков дает

возможность выполнять несколько команд параллельно.

Недостатки. Требуется новое поколение компиляторов, способных

проанализировать программу, найти в ней независимые команды, связать такие

команды в строки длиной от 256 до 1024 бит, обеспечить их параллельное

выполнение. Компилятор должен учитывать конкретные детали аппаратных

Бло

к с

ло

жен

ия ч

исе

л с

ПЗ

Рег

ист

ровы

й ф

айл

Бло

к о

бр

ащен

ия к

пам

яти

Бло

к р

еали

зац

ии

пер

ехо

до

в

АЛ

У ц

ело

чи

слен

но

й

ари

фм

ети

ки

Бло

к у

мн

ож

ени

я ч

исе

л

с П

З

Сложение с

ПЗ

Операции с

ФЗ

Загрузка/

Запись

Переход Умнож. с

ПЗ

Page 42: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

42

средств. При определенных ситуациях программа оказывается недостаточно

гибкой.

Основные сферы применения. VLIW-процессоры пока еще

распространены относительно мало. Основными сферами применения

технологии VLIW-являются цифровые сигнальные процессоры и

вычислительные системы, ориентированные на архитектуру IA-64. Наиболее

известной была VLIW-система фирмы Multiflow Computer, Inc. (Уже не

существующей.) В России VLIW-концепция была реализована в

суперкомпьютере Эльбрус 3-1 и получила дальнейшее развитие в его

последователе - Эльбрус-2000 (Е2к). К VLIW можно причислить семейство

сигнальных процессоров TMS320C6x фирмы Texas Instruments. С 1986 года

ведутся исследования VLIW-архитектуры в IBM. В начале 2000 года фирма

Transmeta заявила процессор Crusoe, представляющий собой программно-

аппаратный комплекс. В нем команды микропроцессоров серии х86

транслируются в слова VLIW длиной 64 или 128 бит. Оттранслированные

команды хранятся в кэш-памяти, а трансляция при многократном их

использовании производится только один раз. Ядро процессора исполняет

элементы кода в строгой последовательности.

4.2. Архитектура EPIC

Дальнейшим развитием идеи VLIW стала новая архитектура IA-64 —

совместная разработка фирм Intel и Hewlett-Packard (IA - это аббревиатура от

Intel Architecture). В IA-64 реализован новый подход, известный как

вычисления с явным па-раллелизмом команд (EPIC, Explicitly Parallel Instruction

Computing) и являющийся усовершенствованным вариантом технологии VLIW.

Первым представителем данной стратегии стал микропроцессор Itanium

компании Intel. Корпорация Hewlett-Packard также реализует данный подход в

своих разработках.

В архитектуре IA-64 предполагается наличие в процессоре 128 64-разрядных

регистров общего назначения (РОН) и 128 80-разрядных регистров с

плавающей запятой. Кроме того, процессор IA-64 содержит 64 однобитовых

регистра предикатов.

Архитектура EPIC имеет следующие основные особенности:

поддержка явно выделенного компилятором параллелизма. Формат

команд имеет много общего с архитектурой с длинным командным словом -

параллелизм так же явно выделен. К каждой длинной команде (128 бит)

прилагается небольшой (3-5 битный) ярлык, который специфицирует формат

команды.

наличие большого регистрового файла

наличие предикатных регистров. Множественный предикатный

флаговый регистр позволяет избавится от паразитных связей по управлению из-

за регистра флагов.

спекулятивная загрузка данных, позволяющая избежать простоев

конвейера при загрузке данных из оперативной памяти.

Page 43: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

43

4.3. Технология IA-64

Дальнейшим развитием идеи VLIW стала новая архитектура IA-64 —

совместная разработка фирм Intel и Hewlett-Packard (IA - это аббревиатура от

Intel Architecture). В IA-64 реализован новый подход, известный как

вычисления с явным параллелизмом команд (EPIC, Explicitly Parallel Instruction

Computing) и являющийся усовершенствованным вариантом технологии VLIW

(Рисунок 4.2.). Первым представителем данной стратегии стал микропроцессор

Itanium компании Intel. Корпорация Hewlett-Packard также реализует данный

подход в своих разработках.

Разработчики процессоров стремятся создавать чипы, содержащие как можно

больше функциональных узлов - что позволяет обрабатывать больше команд

параллельно - но одновременно приходится существенно усложнять

управляющие цепи для распределения потока команд по обрабатывающим

узлам. На данный момент лучшие процессоры не могут выполнять более

четырѐх команд одновременно, при этом управляющая логика занимает

слишком много места на кристалле.

В то же время, последовательная структура кода программ и большая

частота ветвлений делают задачу распределения потока команд крайне

сложной. Современные процессоры содержат огромное количество

управляющих элементов для того, чтобы минимизировать потери

производительности, связанные с ветвлениями, и извлечь как можно больше

"скрытого параллелизма" из кода программ. Они изменяют порядок команд во

время исполнения программы, пытаются предсказать, куда необходимо будет

перейти в результате очередного ветвления, и выполняют команды до

вычисления условий ветвления. Если путь ветвления предсказан неверно,

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

загрузить нужные команды, что требует достаточно большого числа тактов.

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

такт, на деле выполняет менее двух.

Рисунок 4.2. Отличия архитектуры IA-64 от x86

Page 44: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

44

Проблему ещѐ осложняет тот факт, что микросхемы памяти не успевают за

тактовой частотой процессоров. Когда Intel разработала архитектуру х86,

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

обрабатывал. Сегодня процессор тратит сотни тактов на ожидание загрузки

данных из памяти, даже несмотря на наличие большой и быстрой кэш-памяти.

Команды в формате IA-64 упакованы по три в 128-битный пакет для

быстрейшей обработки. Обычно это называют "LIW encoding". (Русский аналог

подобрать сложно. Наиболее адекватно, на мой взгляд, перевести как

"кодирование в длинные слова команд".) Однако компания Intel избегает такого

названия, заявляя, что с ним связаны "негативные ассоциации" (negative

connotation). По той же причине Intel не любит называть сами команды RISC-

подобными (RISC-like), даже несмотря на то, что они имеют фиксированную

длину и предположительно оптимизированы для исполнения за один такт в

ядре, не нуждающемся в микрокоде. Intel предпочитает называть свою новую

LIW-технологию Explicitly Parallel Instruction Computing или EPIC (Вычисления

с Явной Параллельностью Инструкций, где "явной" означае явно указанной при

трансляции). В любом случае формат команд IA-64 не имеет ничего общего с

х86. Команды х86 могут иметь длину от 8 до 108 бит, и процессор должен

последовательно декодировать каждую команду после определения еѐ границ.

Каждый 128-битный пакет содержит шаблон (template) длиной в

несколько бит, помещаемый в него компилятором, который указывает

процессору, какие из команд могут выполняться параллельно. Теперь

процессору не нужно будет анализировать поток команд в процессе

выполнения для выявления "скрытого параллелизма". Вместо этого наличие

параллелизма определяет компилятор и помещает информацию в код

программы. Каждая команда (как для целочисленных вычислений, так и для

вычислений с плавающей точкой) содержит три 7-битных поля регистра

общего назначения (РОН). Из этого следует, что процессоры архитектуры IA-64

содержат 128 целочисленных РОН и 128 регистров для вычислений с

плавающей точкой. Все они доступны программисту и являются регистрами с

произвольным доступом (programmer-visible random-access registers). По

сравнению с процессорами х86, у которых всего восемь целочисленных РОН и

стек глубины 8 для вычислений с плавающей точкой, IA-64 намного "шире" и,

соответственно, будет намного реже простаивать из-за "нехватки регистров".

Компиляторы для IA-64 будут использовать технологию "отмеченных

команд" (predication) для устранения потерь производительности из-за

неправильно предсказанных переходов и необходимости пропуска участков

кода после ветвлений. Когда процессор встречает "отмеченное" ветвление в

процессе выполнения программы, он начинает одновременно выполнять все

ветви. После того, как будет определена "истинная" ветвь, процессор сохраняет

необходимые результаты и сбрасывает остальные.

Компиляторы для IA-64 будут также просматривать исходный код с

целью поиска команд, использующих данные из памяти. Найдя такую команду,

Page 45: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

45

они будут добавлять пару команд - команду предварительной загрузки

(speculative loading) и проверки загрузки (speculative check). Во время

выполнения программы первая из команд загружает данные в память до того,

как они понадобятся программе. Вторая команда проверяет, успешно ли

произошла загрузка, перед тем, как разрешить программе использовать эти

данные. Предварительная загрузка позволяет уменьшить потери

производительности из-за задержек при доступе к памяти, а также повысить

параллелизм.

Рисунок 4.3. Формат инструкций IA-64

Поле каждой из трех команд в связке, в свою очередь, состоит из пяти полей

(Рисунок 4.3.):

13-разрядного поля кода операции;

6-разрядного поля предикатов, хранящего номер одного из 64 регистров

предиката;

7-разрядного поля первого операнда (первого источника), где

указывается номер регистра общего назначения или регистра с плавающей

запятой, в котором содержится первый операнд;

7-разрядного поля второго операнда (второго источника), где указывается

номер регистра общего назначения или регистра с плавающей запятой, в

котором содержится второй операнд;

7-разрядного поля результата (приемника), где указывается номер

регистра общего назначения или регистра с плавающей запятой, куда должен

быть занесен результат выполнения команды.

Следует пояснить роль подполя предикатов. Предикация - это способ

обработки условных ветвлений. Суть в том, что еще компилятор указывает, что

обе ветви выполняются на процессоре параллельно, ведь EPIC-процессоры

должны иметь много функциональных блоков.

Page 46: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

46

Если в исходной программе встречается условное ветвление (по статистике

— через каждые шесть команд), то команды из разных ветвей помечаются

разными регистрами предиката (команды имеют для этого соответствующие

поля), далее они выполняются совместно, но их результаты не записываются,

пока значения регистров предиката (РП) не определены. Когда, наконец,

вычисляется условие ветвления, РП, соответствующий «правильной» ветви,

устанавливается в 1, а другой - в 0. Перед записью результатов процессор

проверяет поле предиката и записывает результаты только тех команд, поле

предиката которых указывает на РП с единичным значением.

Предикаты формируются как результат сравнения значений, хранящихся в

двух регистрах. Результат сравнения («Истина» или «Ложь») заносится в один

из РП, но одновременно с этим во второй РП записывается инверсное значение

полученного результата. Такой механизм позволяет процессору более

эффективно выполнять конструкции типа I F - T H E N-E L S E .

Логика выдачи команд на исполнение сложнее, чем в традиционных

процессорах типа VLIW, но намного проще, чем у суперскалярных процессоров

с неупорядоченной выдачей.

4.4. Intel Itanium

Itanium был специально разработан для предоставления очень высокого

уровня в параллельных вычислениях, для достижения высокой

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

архитектуры Itanium:

Увеличенные вычислительные ресурсы ядра

Регистры IA-64:

o 128 64-разрядных регистров общего назначения;

o 128 80-разрядных регистров вещественной арифметики;

o 64 1-разрядных предикатных регистров.

Выполнение до 6 инструкций за 1 цикл

Формат команды:

o идентификатор команды;

o три 7-разрядных поля операндов - 1 приемник и 2 источника;

o особые поля для вещественной и целой арифметики;

o 6-разрядное предикатное поле (64=2^6).

Выполнение 2-х SIMD операций с плавающей точкой c 98-битными

операндами за один цикл

Большой кэш: 24 МБ у двухядерной версии (по 12 МБ на ядро)

предоставляющий данные каждому ядру со скоростью до 48 ГБ/с.ѐ

Page 47: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

47

Большое адресное пространство: 50-битная адресация физической памяти

/ 64-битная адресация виртуальной памяти.

Маленькое, энергоэффективное ядро: с тех пор как функции

распараллеливания передали от Itanium к компилятору, в ядре уменьшили

количество транзисторов.

В режиме IA-64 это был самый быстрый процессор для вычислений с

плавающей запятой, имеющийся на рынке. В то же время в целочисленных

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

системой команд x86. При выполнении же неоптимизированного под Itanium

программного кода для x86 его производительность была в 8 раз меньше, чем у

x86 процессоров на той же частоте.

Контрольные вопросы

1.В чем заключается основной принцип Hyper-Threading?

2.Что такое конвейеризация?

3.Каких операций требует арифметика чисел с плавающей запятой?

4.По каким алгоритмам работает блок предсказания ветвлений?

5.Что такое VLIW?

6.Каковы особенности архитектуры EPIC?

7.В чем отличия архитектуры IA-64 от x86?

8.Каков формат команды для процессора Intel Itanium?

Page 48: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

48

Лекция 5

Тема 5. Концептуальное понятие о ВС

5.1. Модель вычислителя

Модель вычислителя есть пара: c = <h, a>,

где h и a – описания конструкции ЭВМ и алгоритма ее функционирования

при обработке информации (или коротко: h – конструкция вычислителя, a –

алгоритм его работы).

Конструкция вычислителя допускает следующее представление: h = <U, g>,

где U={ui} – множество устройств ui, i=1..k (k=5 для концептуальной

машины Дж. фон Неймана); g– описание структуры (или просто: структура)

сети связей между устройствами ui.

Говоря иначе, структура вычислителя – это граф, вершинам которого

сопоставлены устройства ui, а ребрам – линии связей между ними. В основу

конструкции вычислителя кладутся следующие три принципа:

1. последовательная обработка информации т.е. (последовательное

выполнение:

o операций на множестве U устройств ui, взаимодействующих

через связи структуры g;

o микроопераций в пределах устройств ui;

2. фиксированность (автоматическая неизменность) структуры (и g, и

микроструктуры устройств ui, i=1..k;

3. неоднородность составляющих устройств ui и связей между ними

(структуры g).

Алгоритм работы вычислителя обеспечивает согласованное

функционирование всех устройств (множества U) и связей между ними

(структуры g) в процессе обработки информации или, говоря иначе, при

решении задач. Для решения любой задачи вычислитель должен иметь

исходные данные D и программу p или запись алгоритма вычислений (на одном

из возможных языков). Поэтому алгоритм a допускает представление в виде

суперпозиции: a=a(p(D)).

Для заданных D и p алгоритм a должен приводить к однозначному

результату. Степень универсальности алгоритма работы вычислителя

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

Итак, на основании вышеизложенного, модель вычислителя – с =

<U, g, a(p(D))>

где U – множество устройств, обеспечивающих ввод, обработку, хранение и

вывод информации; g – структура связей между устройствами; a – алгоритм

работы вычислителя или алгоритм управления вычислительными процессами

Page 49: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

49

при реализации программы p обработки данных D. В модель вычислителя

вкладывается каноническая ЭВМ Дж. фон Неймана.

Следует отметить, что описанные три принципа конструирования ЭВМ были

адекватны лишь 50-м годам 20 столетия, и они позволили создать первые

технико-экономически эффективные электронные машины. В последующих

ЭВМ, основанных на новой элементной базе, технико-экономическая

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

времени их выполнения, ручной реконфигурируемости структур, возможности

изменения (upgrade) составов машин. Каждый новый проект ЭВМ

характеризовался очередной модификацией принципов построения, смена

поколений ЭВМ сопровождалась все большим отходом от трех первоначальных

принципов. В конце концов, создатели средств обработки информации пришли

к необходимости применения диалектических противоположностей названных

здесь принципов.

Таким образом, мы можем дать еще одно определение: средство обработки

информации, основанное на модели вычислителя, называется ЭВМ. Процесс

проектирования ЭВМ включает в себя выбор системы счисления и формы

представления данных D; определение средств для написания

программ p вычислений; подбор состава U вычислительных устройств и

системы операций, реализуемых ими; формирование структуры g и разработку

микроструктуры («логический» синтез) устройств ui из U выбор элементной

базы и конструирование устройств и построение такого

алгоритма a функционирования вычислителя c, который обеспечивал бы

реализацию и программ p, и, в частности, операций как последовательности

микроопераций.

Допустимы аппаратурные, аппаратурно-программные и программные

реализации модели вычислителя. Аппаратурное исполнение c предопределяет

каноническая ЭВМ Дж. фон Неймана; такое исполнение соотносится с первыми

ЭВМ (первым поколением ЭВМ).

5.2. Возможности совершенствования ЭВМ

Был найден кардинальный путь преодоления ограничений, присущих ЭВМ.

Этот путь связан с диалектическим отрицанием принципов модели

вычислителя.

1. Последовательная обработка информации на ЭВМ

Эволюционное совершенствование средств вычислительной техники связано

с постоянной борьбой за увеличение производительности, следовательно, и за

наращивание возможностей памяти, и повышение надежности, и за улучшение

технико-экономических показателей. Имеются следующие способы повышения

производительности ЭВМ при обработке информации:

а) совершенствование и разработка алгоритмов решения задач;

б) создание эффективных систем программирования и оптимизация

программ;

Page 50: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

50

в) повышение быстродействия и улучшение физико-технических свойств

элементов и внутримашинных информационных каналов;

г) улучшение алгоритмов выполнения машинных операций и

соответствующая модификация структуры процессора;

д) модернизация алгоритма управления вычислительными

процессами и канонической структуры ЭВМ.

Способы а) и б) основываются: на фундаментальных достижениях

математики; на тщательном анализе исходной задачи; на выборе методов и

алгоритмов ее решения, наиболее адекватных структуре и количественным

характеристикам как самой задачи, так и ЭВМ; на скрупулезном

программировании, в максимальной степени учитывающем архитектурные

возможности машины. Эти способы целесообразно применять для уникальных

машин, ориентированных на решение специальных классов задач. Они дают

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

Способ в) опирается на возможности использования новых физических

явлений и материалов и совершенствования технологии производства больших

интегральных схем (БИС). В качестве базы для создания перспективных

элементов можно указать на квантовую электронику.

Для современной микроэлектроники известны оценки, полученные на

основании принципа неопределенности Гейзенберга и конечности скорости

света (299792 0,4 км/c, в вакууме): время обращения к памяти в 2 бита равно

10-12

с для наибольшей допустимой плотности вещества. Это значение времени

увеличивается с ростом емкости памяти. Для современной кремневой

технологии изготовления БИС достигнуто значение произведения мощности

рассеивания на время переключения в элементе (полупроводниковом

переходе), не превышающее 10-10

Дж. Теоретический предел рассеивания

тепловой энергии равен 10-12

Дж. Эта величина ограничивает плотность

упаковки и быстродействие БИС. Проблема теплоотвода лимитирует время

переключения элемента (при кремневой технологии) значением 10-11

с. Время

переключения элементов на современных пленках оценивается величинами от

10-10

с до 10-11

с.

Следовательно, указанные выше обстоятельства не позволяют в условиях

современной технологии БИС (да и перспективных некремниевых технологий,

например, на основе углеродных транзисторов) существенно повысить

производительность (до 1015

опер./с) последовательных ЭВМ за счет

увеличения частотных возможностей и улучшения физико-технических свойств

элементной базы. Кроме того, непрерывные успехи в микроминиатюризации

позволяют (и будут позволять, видимо, до 2040 г.) увеличивать число

транзисторов на чипе в 2 раза каждые 18 месяцев. Число транзисторов на

кристалле уже сейчас достигает 108. Однако, эффективно

«распорядиться» таким большим числом транзисторов не возможно, если

стоять на платформе последовательной обработки информации. Именно

поэтому современные микропроцессорные БИС уже впитали в себя не-фон-

неймановские или параллельные архитектуры средств обработки информации.

Page 51: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

51

Способ г) повышения производительности ЭВМ связан с поиском форм

представления чисел и алгоритмов, убыстряющих реализацию машинных

операций. При этом следует учитывать, что основные логические операции

(типа сравнения) дальнейшему ускорению не поддаются. Алгоритмы, дающие

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

различаются между собой, что приводит к техническим сложностям в

реализации процессора. Переход на эффективные алгоритмы реализации

операций конечно может обеспечить в современных условиях рост

быстродействия ЭВМ. Однако при этом следует заметить, что предельные

варианты модификации алгоритмов выполнения арифметических операций

достигаются при конвейерных вычислениях. Но, если использовать последнее,

то будет создана не ЭВМ, а вычислительная система с не-фон-неймановской

архитектурой.

Способ д) повышения производительности средств обработки информации

основывается на заметной модернизации алгоритма управления

вычислительными процессами и, следовательно, канонической

функциональной структуры ЭВМ. Наиболее яркая новация – это доведение

последовательно-параллельного алгоритма управления и структуры

вычислительного средства до возможности производить конвейерные

вычисления. При конвейеризации процесс обработки данных состоит из

нескольких этапов, причем над различными частями данных допускается

одновременная реализация этих этапов. Последнее достигается предельной

трансформацией канонической последовательной структуры ЭВМ в конвейер,

состоящий из специализированных вычислителей. Следовательно,

конвейеризация вычислений основывается на значительном отходе от модели

одиночного вычислителя и от архитектуры ЭВМ Дж. фон Неймана и

закладывает фундамент для новой (параллельной) модели.

2. Фиксированность структуры ЭВМ

Отсутствие возможности автоматического изменения структуры не

позволяет в полной мере адаптировать ЭВМ к области применения (подобрать

адекватную структуру и режим обработки), учесть особенности и

характеристики задач при их программировании и т.п. Жесткий алгоритм

управления вычислительными процессами вынуждает создавать программы

решения задач, в которых фиксированы последовательность выполнения

операций и порядок использования данных. Такая фиксированность

сохраняется при повторных решениях задач даже с другими массивами данных

(независимо от их объемов и структур, связанных с физической сущностью

задач). Жесткость структуры ЭВМ в ряде случаев приводит к значительным

трудностям программирования задач и не позволяет использовать эффективные

методы их решения. Говоря иначе, фиксированность структуры ЭВМ

однозначно приводит к процедурному способу обработки информации,

вариации в ходе реализации программ ограничены возможностями команд

условных переходов.

Page 52: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

52

3. Неоднородность ЭВМ

Существовавшее в 40-х годах двадцатого столетия представление о методах

обработки информации и об организации вычислительных процессов, острая

потребность в средствах автоматизации вычислителей, уровни развития

электроники и техники для вычислений, а также экономические ограничения

однозначно определили структуру и состав приемлемого средства

автоматической обработки данных – ЭВМ Дж. фон Неймана. Конструктивный

принцип неоднородности в машине Дж. фон Неймана канонизирован на

нескольких уровнях: структура ЭВМ в целом нерегулярна, а состав

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

назначение и свою логическую организацию, основывается на специфических

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

пределах всей конфигурации ЭВМ однородность достигается лишь

фрагментарно (например, оперативная память допускает однородную

реализацию). Построение неоднородных ЭВМ находится в резком

противоречии с тенденцией развития микро- и наноэлектроники.

Таким образом, путь эволюционного совершенствования средств

вычислительной техники на основе модели вычислителя (принципов

последовательной обработки информации, фиксированности структуры и

конструктивной неоднородности) не может привести к кардинальному

улучшению их технических характеристик.

5.3. Модель коллектива вычислителей

Коллектив аппаратурно-программных вычислителей суть вычислительная

система (ВС). Архитектура ВС основывается на структурной и функциональной

имитации коллектива (ансамбля) людей-вычислителей.

Каноническую основу конструкции вычислительной системы и ее

функционирования составляет модель коллектива вычислителей. Эта модель

представляется парой:

S = <H, A>

где H и A – описание конструкции (или просто: конструкция) и алгоритм

работы коллектива вычислителей.

Конструкция коллектива вычислителей описывается в виде:

H = <C, G>

где C={ci}– множество вычислителей сi (i =0..N-1), N– мощность

множества C, G– описание макроструктуры коллектива вычислителей, т.е.

структуры сети связей между вычислителями ci (или структура

коллектива). Конструкция коллектива вычислителей есть отражение

следующих основополагающих архитектурных принципов:

1. параллелизма при обработке информации (параллельного выполнения

операций на множестве C вычислителей, взаимодействующих через

связи структуры G);

2. программируемости структуры (настраиваемости структуры G сети

связей между вычислителями, достигаемой программными средствами);

Page 53: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

53

3. однородности конструкции H (однородности вычислителей ci и

структуры G)

Суть принципов становится ясной, если учесть, что они противоположны

принципам, лежащим в основе конструкции вычислителя. Целесообразно

подчеркнуть лишь то, что принцип программируемости структуры является

столь же фундаментальным в области архитектуры средств обработки

информации, сколь основательны предложения Дж. фон Неймана. (Напомним,

что он предложил хранить программу работы ЭВМ в ее памяти и

модифицировать программу с помощью самой же машины). Требования

принципа программируемости структуры сводятся к тому, чтобы в коллективе

вычислителей была заложена возможность хранения описания его изначальной

физической структуры, априорной автоматической (программной) настройки

проблемно-ориентированных (виртуальных) конфигураций и их перенастройки

в процессе функционирования с целью обеспечения адекватности структурам и

параметрам решаемых задач и достижения эффективности при заданных

условиях эксплуатации.

Уровень развития вычислительной математики и техники, а также

технологии микроминиатюризации (микроэлектроники и наноэлектроники) уже

сейчас позволяет в некоторых областях вместо принципа конструктивной

однородности (однородности состава C и структуры G) использовать принцип

квазиоднородности (или виртуальной однородности) конструкции H. Более

того, можно ограничиться лишь требованием совместимости вычислителей в

коллективе и использовать неоднородные структуры.

5.4. Структура коллектива вычислителей

Структура коллектива вычислителей представляется графом G, вершинам

(узлам) которого сопоставлены вычислители ci, а ребрам – линии связи между

ними. Проблема выбора (синтеза) структур вычислительных систем не является

тривиальной. В самом деле, универсальное решение – структура в виде полного

графа, однако такие структуры практически реализуемы при небольшом числе

вычислителей. Для достижения производительности ВС в диапазоне 109 –

1015

оп/с при существующих интегральных технологиях требуется число

вычислителей порядка 100 – 10

6. Следовательно, структуры последних систем

не могут быть организованы по типу полного графа хотя бы из-за ограничений

на число выводов с корпусов интегральных схем. Какие же структуры сети

связей между вычислителями используются при формировании ВС?

Простейшие структуры ВС – нульмерные, одномерные и двумерные.

Увеличение размерности структуры повышает структурную надѐжность ВС. В

самом деле, двумерные структуры предоставляют каждому вычислителю

непосредственную связь с четырьмя соседними. В качестве примеров

двумерных структур может служить «решетка» (точнее 2D-решетка) и тop (2D-

тор) (Рисунок 5.1.). Следовательно, в системах с двумерной структурой при

отказах некоторых вычислителей и (или) связей между ними сохраняется

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

Page 54: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

54

В n-мерных структурах каждый вычислитель связан с 2n соседними

вычислителями. Ясно, что имеются технико-экономические и технологические

ограничения в наращивании размерности структуры ВС.

Гиперкубы или структуры в виде булевых n-мерных кубов нашли широкое

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

массовым параллелизмом.

Рисунок 5.1. Одномерные и двумерные структуры

Гиперкуб, по определению, это однородный граф, для которого справедливо

n = log2N,

где N– количество вершин, а n– число ребер, выходящих из каждой

вершины; n – называют также размерностью гиперкуба. Итак, каждый

вычислитель в гиперкубической ВС имеет связь ровно с n другими

вычислителями. На рис. представлены одно-, дву-, трех- и четырехмерный

гиперкубы. Гиперкуб размерности n называют также nD-кубом, где D означает

размерность (Dimension).

Рисунок 5.2. Гиперкубические структуры

В гиперкубе (Рисунок 5.2.) максимальное расстояние (число ребер) между

двумя вершинами совпадает с его размерностью. Удвоение числа вычислителей

в гиперкубической ВС увеличивает расстояние между максимально

удаленными друг от друга вычислителями только на единицу.

Если вершины гиперкуба пронумеровать от 0 до n-1 в двоичной системе

счисления так, что каждый разряд соответствует одному из n-направлений, то

это будет булев n-мерный куб.

Гиперкуб N=16, n=4 является также двумерным тором.

Page 55: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

55

5.5. Алгоритм работы коллектива вычислителей

Алгоритм A работы коллектива S обеспечивает согласованную работу всех

вычислителей ciи сети связей между ними (структуры G) в процессе решения

общей задачи. Данный алгоритм может быть представлен в виде суперпозиции:

где

D - исходный массив данных, подлежащих обработке в процессе решения

задачи,

Di – индивидуальный массив данных для вычислителя ci из C, причем в

общем случае

P – параллельная программа решения общей задачи,

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

организовать отказоустойчивые параллельные вычисления. В самом деле, за

счет локальной информационной избыточности в каждом вычислителе имеется

потенциальная возможность к восстановлению всей исходной информации (или

по крайней мере, необработанных данных) при отказе отдельных

вычислителей.

Ясно, что решение общей задачи осуществляется по некоторому

параллельному алгоритму, и именно он кладется в основу параллельной

программы. Распределенные по вычислителям данные и параллельная

программа инициируют работу алгоритма A и определяют функционирование

конструкции H коллектива вычислителей до конца решения задачи.

Эквивалентное представление алгоритма работы коллектива вычислителей

есть композиция

где (Ai*Ai’) осуществляет функционирование вычислителя ci среди других

вычислителей множества C, Ai и Ai’ – соответственно алгоритм автономной

работы ci и алгоритм реализации взаимодействий с вычислителями cj = C\ci.

Последний алгоритм является суперпозицией

Ai’(P(G))

в которой G – описание структуры коллектива C вычислителей, Pi’ –

программа для установления связей и выполнения взаимодействий между

вычислителем ci и другими вычислителями подмножества C\ci.

Программа Pi’ является, как правило, частью ветви Pi параллельной

программы.

Многообразие архитектурных реализаций модели коллектива вычислителей

(многообразие типов вычислительных систем) является следствием разницы в

способах воплощения совокупности алгоритмов {Ai’} i=0..N-1, задания {Pi} и

Page 56: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

56

выбора структуры G, а также разнообразия в правилах композиции

алгоритмов.

Аппаратурные средства, с помощью которых реализуется совокупность

алгоритмов A0’,A1’…,Ai’,…AN-1’ и которые вместе с сетью связей составляют

среду для осуществления взаимодействий между вычислителями коллектива,

называются коммутатором. От способа реализации коммутатора во многом

зависит эффективность ВС параллельного действия. Коммутатор настолько же

необходим при создании ВС, насколько нужны процессор и оперативная

память для построения ЭВМ.

При полном воплощении принципа однородности имеют место отношения

эквивалентности:

которые, в частности, обеспечивают высокую технологичность в

проектировании и в производстве технических реализаций вычислителей,

приводят к распределенному коммутатору, состоящему из N локальных

идентичных коммутаторов (находящихся во взаимно однозначном

соответствии с вычислителями), не вызывают ни каких сложностей в

формировании сети связей между вычислителями.

Принцип однородности приводит к простоте при разработке параллельного

программного обеспечения. Он обеспечивает высокую технико-экономическую

эффективность коллектива вычислителей как единого аппаратурно-

программного комплекса.

Контрольные вопросы

1.Что такое модель вычислителя?

2.Какие существуют способы повышения производительности ЭВМ при

обработке информации?

3.К чему приводит фиксированность структуры ЭВМ?

4.Как достигается однородность в пределах всей конфигурации ЭВМ?

5.Что составляет каноническую основу конструкции вычислительной

системы?

6.Каковы основополагающие архитектурные принципы?

7.Что такое гиперкуб?

8.Каков алгоритм работы коллектива вычислителей?

Page 57: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

57

Лекция 6.

Тема 6. Вычислительные системы

6.1. Принципы технической реализации модели коллектива вычислителей

Каноническое описание модели коллектива вычислителей,

основополагающие принципы ее конструкции, а также состояние

микроэлектроники и уровень развития (параллельной) вычислительной

математики определяют принципы технической реализации модели или

принципы построения вычислительных систем (ВС).

Выделим “модульность” и “близкодействие” как главные принципы

технической реализации модели коллектива вычислителей.

Модульность – принцип, предопределяющий формирование

вычислительной системы из унифицированных элементов (называемых

модулями), которые функционально и конструктивно закончены, имеют

средства сопряжения с другими элементами и разнообразие которых составляет

полный набор. Функциональные и конструктивные возможности модулей,

разнообразие их типов определяются исходя из требований, предъявляемых к

вычислительным системам, и, безусловно, из возможностей микроэлектронной

базы.

Модульность вычислительной системы обеспечивает:

1. возможность использования любого модуля заданного типа для

выполнения любого соответствующего ему задания пользователя;

2. простоту замены одного модуля на другой однотипный;

3. масштабируемость, т.е. возможность увеличения или уменьшения

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

модулями;

4. открытость системы для модернизации, исключающую ее моральное

старение.

При конструировании вычислительных систем с массовым параллелизмом

достаточно ограничиться единственным модулем–вычислителем, который бы

обладал вычислительной и соединительной полнотой. Следовательно, модуль

должен иметь средства автономного управления, располагать арифметико-

логическим устройством и памятью и содержать локальный коммутатор –

схему для связи с другими модулями. На практике принято такой модуль–

вычислитель называть либо элементарным процессором (ЭП), либо

элементарной машиной (ЭМ). При этом считается, что ЭП это композиция из

процессора и локального коммутатора. Разрядность таких ЭП в различных

вычислительных системах колеблется от 1 до 64. Под элементарной машиной

понимается архитектурно более развитая композиция из ЭВМ и локального

коммутатора.

Page 58: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

58

Близкодействие – принцип построения вычислительных систем,

обусловливающий такую организацию информационных взаимодействий

между модулями–вычислителями, при которой каждый из них может

непосредственно (без ―посредников‖) обмениваться информацией с весьма

ограниченной частью модулей-вычислителей. Следовательно, структура

ВС позволяет осуществлять информационные взаимодействия между

удаленными вершинами-вычислителями лишь с помощью промежуточных

вершин-вычислителей, передающих информацию от ―точки к точке‖ (point-to-

point). Удаленными считаются все те вершины в структуре ВС, расстояние

между которыми более 1 (число ребер между которыми более единицы).

Принцип близкодействия допускает реализацию механизма управления ВС

(организации функционирования коллектива вычислителей как единого

целого), не зависящий от числа составляющих ее вычислителей. Данный

принцип, в частности, выражается в том, что поведение каждого вычислителя

зависит от поведения только ограниченного подмножества других

вычислителей системы.

Вычислительные системы, основанные на принципах модульности и

близкодействия, удовлетворяют также требованиям асинхронности,

децентрализованности и распределенности.

Асинхронность функционирования ВС обеспечивается, если порядок

срабатывания ее модулей определяется не с помощью вырабатываемых тем или

иным образом отметок времени, а достижением заданных значений

определенных (как правило, логических) функций. Использование

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

быстродействия: модули ВС срабатывают немедленно после достижения

соответствующего условия. Применение асинхронных схем обмена

информацией между вычислителями позволяет не учитывать разброс в их

тактовых частотах и колебания времени задержки сигналов в линиях связи.

Децентрализованность управления ВС достигается, если в системе нет

выделенного модуля, который функционирует как единый для всей системы

центр управления. Децентрализованное управление системой основано на

совместной работе всех исправных модулей системы, направленной на

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

Выполняя свою часть работы по выработке согласованного решения об

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

информацией о системе.

Децентрализованное управление системой (в отличие от централизованного)

позволяет:

1. достичь живучести ВС, т. е. ее способности продолжать работу при

отказах модулей (в том числе и тех, которые предназначены для принятия

решений);

2. избежать очередей при обслуживании ―заявок‖ на управление.

Page 59: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

59

Распределѐнность ресурсов ВС. Под ресурсами ВС понимаются все

объекты, которые запрашиваются, используются и освобождаются в ходе

выполнения вычислений. В качестве ресурсов ВС выступают процессоры или

даже модули, входящие в их состав, модули оперативной памяти, внешние

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

программного обеспечения. Принято называть распределенной ВС, такую

систему, в которой нет единого ресурса, используемого другими в режиме

разделения времени. Вместе с этим каждый ресурс распределѐнной ВС

рассматривается как общий, доступный любому потребителю.

6.2. Архитектурные свойства вычислительных систем

Основополагающие принципы (параллелизма, программируемости,

однородности) и принципы модульности и близкодействия позволяют достичь

полноты архитектурных свойств в вычислительных системах. Отметим

важнейшие свойства архитектуры ВС. При этом заметим, что не все свойства и

не в полной мере могут проявляться в той или иной реализации ВС.

Масштабируемость (Scalability) вычислительных систем

Под масштабируемостью ВС понимается их способность к наращиванию и

сокращению ресурсов, возможность варьирования производительности.

Сложность (трудоемкость) задач, решаемых на вычислительных средствах,

постоянно растет. Для сохранения в течении длительного времени за

вычислительной системой способности быть адекватным средством решения

сложных задач необходимо, чтобы она обладала архитектурным свойством

масштабируемости. Это означает, в частности, что производительность,

достигнутую ВС на заданном количестве вычислителей, можно увеличить,

добавив еще один или несколько вычислителей. Выполнение этого свойства ВС

гарантируется принципами модульности, локальности, децентрализованности и

распределѐнности.

Свойство наращиваемости производительности предоставляет

потенциальную возможность решать задачи любой априори заданной

сложности. Однако для практической реализации этой возможности требуется,

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

межмодульные пересылки информации слабо влияли на время решения задачи.

Это может быть достигнуто за счет крупноблочного распараллеливания

сложных задач и (или) аппаратурных средств, позволяющих совместить

межмодульные обмены информацией с вычислениями.

Универсальность ВС

Вычислительные системы алгоритмически и структурно универсальны.

Принято считать, что ЭВМ (основанные на модели вычислителя) являются

алгоритмически универсальными, если они обладают способностью (без

изменения своих структур) реализовать алгоритм решения любой задачи. С

другой стороны, ВС – это коллектив вычислителей, каждый из которых

обладает алгоритмической универсальностью, следовательно, и система

универсальна (в общепринятом смысле).

Page 60: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

60

В вычислительных системах могут быть реализованы не только любые

алгоритмы, доступные ЭВМ, но и параллельные алгоритмы решения сложных

задач. Последнее следует из определений модели коллектива вычислителей и, в

частности, алгоритма функционирования ВС.

Структурная универсальность ВС – следствие воплощения архитектурных

принципов коллектива вычислителей, в частности, принципа

программируемости структуры. Суть этого принципа – возможность

автоматически (программно) порождать специализированные (проблемно-

ориентированные) виртуальные конфигурации, которые адекватны структурам

и параметрам решаемых задач.

Таким образом, вычислительные системы сочетают в себе достоинства

цифровой техники, где процесс вычислений в основном задаѐтся

алгоритмически (точнее: программно) и аналоговой техники, где процесс

вычислений предопределяется структурными схемами.

Структурная универсальность позволяет говорить и о специализированности

ВС: для каждой задачи допустима автоматическая настройка такой

конфигурации из ресурсов ВС, которая наиболее адекватна алгоритму решения

задачи. Итак, вычислительная система – это средство, в котором

диалектически сочетаются противоположные свойства универсальности и

специализированности.

Производительность (Performance) вычислительных систем

В отличие от ЭВМ, построенных на основе модели вычислителя, ВС не

имеют принципиальных ограничений в наращивании производительности. Рост

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

физического быстродействия микроэлектронных элементов, а главным образом

увеличения числа вычислителей. Следует подчеркнуть, что благодаря свойству

однородности наращиваемость ВС осуществляется простым подключением

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

состава системы. При этом достигается простота настройки программного

обеспечения на заданное число вычислителей в системе. На основании

последнего обеспечивается совместимость ВС различной

производительности.

Реконфигурируемость (Programmability) вычислительных систем

Структурная и функциональная гибкости ВС вытекают из широких

возможностей систем по статической и динамической

реконфигурации. Статическая реконфигурация ВС обеспечивается:

варьированием числа вычислителей, их структуры и состава; выбором для

вычислителей числа полюсов для связи c другими вычислителями;

возможностью построения структур в виде графов, относящихся к различным

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

типов, различной физической природы и различной протяжѐнности и т.п.

Благодаря приспособленности ВС к статической реконфигурации достигается

адаптация системы под область применения на этапе еѐ формирования.

Page 61: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

61

Динамическая реконфигурация ВС достигается возможностью образования в

системах таких подсистем, структуры и функциональные организации которых

адекватны входной мультипрограммной ситуации и структурам решаемых

задач. Следовательно, способность ВС к динамической реконфигурации

приводит к еѐ высокой универсальности, при которой достигается заданный

уровень производительности при решении широкого класса задач, реализуются

известные в вычислительной технике режимы функционирования

(коллективное пользование, пакетная обработка и др.), способы управления

вычислительным процессом (централизованный, децентрализованный и др.),

структурные схемы (изолированные вычислительные машины, системы из

нескольких процессоров и одной ЭВМ, системы из одной ЭВМ и нескольких

устройств памяти и т.п.) и способы обработки информации (конвейерный,

матричный, распределѐнный и др.).

Надѐжность и живучесть вычислительных систем

Данные два понятия семантически близки, оба призваны характеризовать

архитектурные способности ВС по выполнению возглавляемых на них

функций. Однако каждое из них отражает специфические особенности ВС по

использованию исправных ресурсов при переработке информации.

Под надѐжностью (Reliability) ВС понимается ее способность к

автоматической (программной) настройке и организации функционирования

таких структурных схем, которые при отказах и восстановлении

вычислителей обеспечивают заданный уровень производительности или,

говоря иначе, возможность использовать фиксированное число исправных

вычислителей (при реализации параллельных программ решения сложных

задач). Это понятие характеризует возможности вычислительных систем по

переработке информации при наличии фиксированной структурной

избыточности (представленной частью вычислителей) и при использовании

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

Под живучестью (Robustness) ВС понимается свойство программной

настройки и организации функционирования таких структурных схем, которые

в условиях отказов и восстановления вычислителей гарантируют при

выполнении параллельной программы производительность в заданных

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

Понятие живучести вычислительных систем характеризует их способности по

организации отказоустойчивых вычислений или, говоря иначе, по реализации

параллельных программ, допускающих варьирование числа ветвей в известных

пределах.

При рассмотрении живучести ВС выделяют полный и частичный отказы.

Под полным отказом ВС понимается событие, состоящее в том, что система

теряет способность выполнять параллельную программу с переменным числом

ветвей. Частичным отказом считают событие, при котором имеют место отказы

вычислителей, однако сохраняется возможность реализации на ВС

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

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

Page 62: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

62

некоторому снижению производительности, т.е. к увеличению времени

реализации параллельной программы с переменным числом ветвей. Понятия

полного и частичного восстановления ВС очевидны.

В живучих ВС допустимо использование аппаратурной избыточности на

уровне отдельных функциональных устройств и узлов вычислителей, однако

эта избыточность играет лишь вспомогательную роль.

Следует подчеркнуть, что в живучей ВС в любой момент функционирования

используется суммарная производительность всех исправных

вычислителей. Из последнего следует, что программы решения задач должны

обладать свойством адаптируемости (под число исправных вычислителей) и

иметь информационную избыточность.

Самоконтроль и самодиагностика (Self-testing and Self-diagnostics)

вычислительных систем

Организация надѐжного и живучего функционирования вычислительных

систем связана с контролем правильности их работы и с локализацией

неисправностей в них. В системах–коллективах вычислителей может быть

применѐн нетрадиционный подход к контролю и диагностике:

1. в качестве контрольно-диагностического ядра ВС могут быть

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

произвольно выбранного вычислителя,

2. выбор ядра системы и определение еѐ исправности могут быть

произведены автоматически ( с помощью средств ВС).

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

ВС. Заключение об исправности или неисправности отдельных вычислителей

системы принимается коллективно всеми вычислителями на основе

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

ними вычислителей.

Технико-экономическая эффективность (Technical-economical Efficiency)

вычислительных систем

Конструктивная однородность позволяет резко сократить сроки разработки и

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

упрощает и статическую, и динамическую реконфигурации ВС, облегчает их

техническую эксплуатацию. Она существенно упрощает процесс организации

взаимодействий между вычислителями ВС и облегчает создание программного

обеспечения. Полнота воплощения трѐх основных принципов модели

коллектива вычислителей позволяет заметно ослабить зависимость между

ростом производительности ВС и увеличением трудоѐмкости их

проектирования и изготовления, а также создания системного программного

обеспечения. Они открывают возможность построения

высокопроизводительных экономически приемлемых вычислительных систем

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

неограниченно наращивать производительность позволяет применить для

Page 63: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

63

построения ВС микроэлектронные элементы с быстродействием, далеким от

предельного, и следовательно, обладающие более высокой надежностью и

меньшим энергопотреблением. В свою очередь, последнее приводит к

снижению расходов на установку искусственного климата и содержание

эксплуатационного персонала ВС.

6.3. Параллельная обработка. Уровни организации параллелизма

Имеются следующие способы повышения производительности ЭВМ при

обработке информации:

а) совершенствование алгоритмов решения задач;

б) оптимизация программ (создание эффективных систем

программирования);

в) повышение быстродействия элементной базы ЭВМ;

г) модификация структуры процессора (улучшение алгоритмов выполнения

машинных операций);

д) конвейерно-параллельная обработка информации.

Попробуем разобраться, какой из факторов является решающим в

достижении современных фантастических показателей производительности.

Для разрешения этого вопроса обратимся к историческим фактам. Известно,

что на компьютере EDSAC (1949 г.), имевшего время такта 2мкс, можно было

выполнить 2*n арифметических операций за 18*n мс, то есть в среднем 100

арифметических операций в секунду. Сравним с современным

суперкомпьютером CRAY C90: время такта приблизительно 4нс, а пиковая

производительность около 1 миллиарда арифметических операций в секунду.

Сравнение приведено в таблице 6.1.

Производительность компьютеров за этот период выросла в приблизительно

в десять миллионов раз. Уменьшение времени такта является прямым способом

увеличением производительности, однако эта составляющая (с 2мкс до 4нс) в

общем объеме дает вклад лишь в 500 раз.

Таблица 6.1.

Компьютер Время

такта(с)

Скорость

(оп/с)

EDSAC (1949 г.) 2*10-6

с 102 оп/с

CRAY C90 (1991 г.) 4*10-9

с 109 оп/с

Откуда же взялось остальное? Ответ очевиден - использование новых

решений в архитектуре компьютеров, среди которых основное место занимает

принцип параллельной обработки данных.

Данный принцип, воплощая идею одновременного выполнения нескольких

действий, имеет две разновидности: конвейерность и собственно

параллельность.

Параллельная обработка. Если некое устройство выполняет одну

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

Page 64: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

64

единиц. Если предположить, что есть пять таких же независимых устройств,

способных работать одновременно, то ту же тысячу операций система из пяти

устройств может выполнить уже не за тысячу, а за двести единиц времени.

Аналогично система из N устройств ту же работу выполнит за 1000/N единиц

времени.

Конвейерная обработка. Что необходимо для сложения двух вещественных

чисел, представленных в форме с плавающей запятой? Целое множество

мелких операций таких, как сравнение порядков, выравнивание порядков,

сложение мантисс, нормализация и т.п. Процессоры первых компьютеров

выполняли все эти "микрооперации" для каждой пары аргументов

последовательно одна за одной до тех пор, пока не доходили до окончательного

результата, и лишь после этого переходили к обработке следующей пары

слагаемых.

Идея конвейерной обработки заключается в выделении отдельных этапов

выполнения общей операции, причем каждый этап, выполнив свою работу,

передавал бы результат следующему, одновременно принимая новую порцию

входных данных. Получаем очевидный выигрыш в скорости обработки за счет

совмещения прежде разнесенных во времени операций. Предположим, что в

операции можно выделить пять микроопераций, каждая из которых

выполняется за одну единицу времени. Если есть одно неделимое

последовательное устройство, то 100 пар аргументов оно обработает за 500

единиц. Если каждую микрооперацию выделить в отдельный этап (или иначе

говорят - ступень) конвейерного устройства, то на пятой единице времени на

разной стадии обработки такого устройства будут находится первые пять пар

аргументов, а весь набор из ста пар будет обработан за 5+99=104 единицы

времени - ускорение по сравнению с последовательным устройством почти в

пять раз (по числу ступеней конвейера).

Казалось бы конвейерную обработку можно с успехом заменить обычным

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

сколько ступеней конвейера предполагается выделить. В самом деле, пять

устройств предыдущего примера обработают 100 пар аргументов за 100 единиц

времени, что быстрее времени работы конвейерного устройства! В чем же

дело? Ответ прост, увеличив в пять раз число устройств, мы значительно

увеличиваем как объем аппаратуры, так и ее стоимость.

Параллелизм – основа высокопроизводительной работы всех подсистем

вычислительных машин. Организация памяти любого уровня иерархии,

организация системного ввода/вывода, организация мультиплексирования шин

и т.д. базируются на принципах параллельной обработки запросов.

Современные операционные системы являются многозадачными и

многопользовательскими, имитируя параллельное исполнение программ

посредством механизма прерываний.

Развитие процессоростроения также ориентировано на распараллеливание

операций, т.е. на выполнение процессором большего числа операций за такт.

Ключевыми ступенями развития архитектуры процессоров стали

Page 65: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

65

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

векторное процессирование (технология SIMD), архитектура VLIW. Все

ступени были ориентированы на повышение степени параллелизма исполнения.

В настоящее время мощные сервера представляют собой

мультипроцессорные системы, а в процессорах активно используется

параллелизм уровня потоков.

Распараллеливание операций – перспективный путь повышения

производительности вычислений. Согласно закону Мура число транзисторов

экспоненциально растѐт, что позволяет в настоящее время включать в состав

CPU большое количество исполнительных устройств самого разного

назначения. Прошли времена, когда функционирование ЭВМ подчинялось

принципам фон Неймана.

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

Сейчас конвейер Intel Pentium 4 состоит из 20 ступеней. Такое

распараллеливание на микроуровне– первый шаг на пути эволюции

процессоров. На принципах конвейеризации базируются и внешние устройства.

Например, динамическая память (организация чередования банков) или

внешняя память (организация RAID).

Но число транзисторов на чипе росло. Использование микроуровневого

параллелизма позволяло лишь уменьшать CPI (Cycles Per Instruction - число

тактов, необходимых для выполнения одной инструкции), так как миллионы

транзисторов при выполнении одиночной инструкции простаивали. CPI =

общее количество тактов / число выполненных команд.

Уровни параллелизма

На следующем этапе эволюции в 80-е годы стали использовать

параллелизм уровня команд посредством размещения в CPU сразу нескольких

конвейеров. Такие суперскалярные CPU позволяли достигать CPI<1.

Параллелизм уровня инструкций (ILP) породил неупорядоченную модель

обработки, динамическое планирование, станции резервации и т.д. От CPI

перешли к IPC (InstructionsPerClock). Но ILP ограничен алгоритмом

исполняемой программы.

Кроме того, при увеличении количества ALU сложность оборудования

экспоненциально растѐт, увеличивается количество горизонтальных и

вертикальных потерь в слотах выдачи.

Page 66: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

66

Рисунок 6.1. Уровни параллелизма

Параллелизм уровня инструкций исчерпал свои резервы, а тенденции Мура

позволили процессоростроителям осваивать более высокие уровни

параллелизма. Современные методики повышения ILP основаны на

использовании процессоров класса SIMD. Это векторное процессирование,

матричные процессоры, архитектура VLIW.

Параллелизм уровня потоков и уровня заданий применяется в процессорах

класса MIMD.

Параллелизм всех уровней свойственен не только процессорам общего

назначения (GPP), но и процессорам специального назначения (ASP

(Application-Specific Processor), DSP (Digital Signal Processor)) (Рисунок 6.1.).

Иногда классифицируют параллелизм по степени гранулярности как

отношение объѐма вычислений к объѐму коммуникаций.

Различают мелкозернистый, среднезернистый и

крупнозернистый параллелизм. Мелкозернистый параллелизм обеспечивает

сам CPU, но компилятор может и должен ему помочь для обеспечения

большего IPC. Среднезернистый параллелизм – прерогатива программиста,

которому необходимо разрабатывать многопоточные алгоритмы. Здесь роль

компилятора заключается в выборе оптимальной последовательности

инструкций (с большим IPC) посредством различных методик (например,

символическое разворачивание циклов). Крупнозернистый параллелизм

обеспечивает ОС.

6.4. Системы (языки) параллельного программирования

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

подходы, ориентированные на разные архитектуры высокопроизводительных

вычислительных систем и различные инструментальные средства. Перечислим

некоторые из них.

Page 67: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

67

Модель передачи сообщений

Основные особенности данного подхода:

Программа порождает несколько задач.

Каждой задаче присваивается свой уникальный идентификатор.

Взаимодействие осуществляется посредством отправки и приема

сообщений.

Новые задачи могут создаваться во время выполнения параллельной

программы, несколько задач могут выполняться на одном процессоре.

Основными инструментами программирования являются

специализированные библиотеки (MPI - Message Passing Interface, PVM -

Parallel Virtual Machines).

Модель параллелизма данных

Основные особенности данного подхода:

Одна операция применяется к множеству элементов структуры данных.

Программа содержит последовательность таких операций.

"Зернистость" вычислений мала.

Программист должен указать транслятору, как данные следует

распределить между задачами.

При программировании на основе параллелизма данных часто используются

специализированные языки или надстройки над языками . DVM Fortran, HPF

(High Perfomance Fortran) и другие.

Модель общей памяти

В модели общей (разделяемой) памяти задачи обращаются к общей памяти,

имея общее адресное пространство и выполняя операции считывания/записи.

Управление доступом к памяти осуществляется с помощью разных

механизмов, таких, например, как семафоры. В рамках этой модели не

требуется описывать обмен данными между задачами в явном виде.

Это упрощает программирование. Вместе с тем особое внимание приходится

уделять соблюдению детерминизма, таким явлениям, как «гонки за данными» и

т. д.

Начиная с версии 2005 в Visual Studio входит поддержка OpenMP. OpenMP –

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

окружения для поддержки парадигмы параллельного программирования для

систем с общей памятью.

Page 68: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

68

6.5. Способы классификации ВС

1. По назначению (универсальные и специализированные)

А) Универсальные ВС предназначаются для решения самых различных

задач.

Б) Специализированные системы ориентированы на решение узкого класса

задач.

Специализация ВС может устанавливаться различными средствами:

1) структурой системы (количеством параллельно работающих элементов,

связи между ними и т.д.). Структура может быть ориентирована на

определенные виды обработки информации: матричные вычисления, решение

алгебраических, дифференциальных и интегральных уравнений и т.п. (Из

практики разработки ВС: чем выше производительность, тем уже класс

эффективно решаемых ВС задач);

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

пакетов обслуживания техники.

2. По типу (многомашинные и многопроцессорные) (ниже)

3. По типу ЭВМ или процессоров (однородные и неоднородные)

Однородные системы предполагают комплексирование однотипных ЭВМ

(процессоров), неоднородные — разнотипных. В однородных системах

значительно упрощается разработка и обслуживание технических и

программных (в основном ОС) средств. В них обеспечивается возможность

стандартизации и унификации соединений и процедур взаимодействия

элементов системы. Упрощается обслуживание систем, облегчается

модернизация и их развитие. Вместе с тем существуют и неоднородные ВС, в

которых комплексируемые элементы очень сильно отличаются по своим

техническим и функциональным характеристикам. Обычно это связано с

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

Так, при построении ММС, обслуживающих каналы связи, целесообразно

объединять в комплекс связные, коммуникационные машины и машины

обработки данных. В таких системах коммуникационные ЭВМ выполняют

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

формирование пакетов задач и т.д. ЭВМ обработки данных не занимаются не

свойственными им работами по обеспечению взаимодействия в сети, а все их

ресурсы переключаются на обработку данных. Неоднородные системы находят

применение и МПС. Многие ЭВМ, в том числе и ПЭВМ, могут использовать

сопроцессоры: десятичной арифметики, матричные и т.п.

4. По степени территориальной разобщенности (сосредоточенные и

распределенные)

Обычно такое деление касается только ММС. Многопроцессорные системы

относятся к системам совмещенного типа. Более того, учитывая успехи

микроэлектроники, это совмещение может быть очень глубоким. При

Page 69: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

69

появлении новых СБИС появляется возможность иметь в одном кристалле

несколько параллельно работающих процессоров.

В совмещенных и распределенных ММС сильно различается оперативность

взаимодействия в зависимости от удаленности ЭВМ. Время передачи

информации между соседними ЭВМ, соединенными простым кабелем, может

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

все выпускаемые в мире ЭВМ имеют средства прямого взаимодействия и

средства подключения к сетям ЭВМ. Для ПЭВМ такими средствами являются

нуль-модемы, модемы и сетевые карты как элементы техники связи.

5. По методам управления элементами (централизованные,

децентрализованные и со смешанным управлением).

Помимо параллельных вычислений, производимых элементами системы,

необходимо выделять ресурсы на обеспечение управления этими

вычислениями. В централизованных ВС за это отвечает главная, или

диспетчерская, ЭВМ (процессор). Ее задачей является распределение нагрузки

между элементами, выделение ресурсов, контроль состояния ресурсов,

координация взаимодействия. Централизованный орган управления в системе

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

ЭВМ (процессору), что способствует повышению надежности системы.

Централизованные системы имеют более простые ОС. В децентрализованных

системах функции управления распределены между ее элементами. Каждая

ЭВМ (процессор) системы сохраняет известную автономию, а необходимое

взаимодействие между элементами устанавливается по специальным наборам

сигналов. С развитием ВС и, в частности, сетей ЭВМ интерес к

децентрализованным системам постоянно растет.

В системах со смешанным управлением совмещаются процедуры

централизованного и децентрализованного управления. Перераспределение

функций осуществляется в ходе вычислительного процесса, исходя из

сложившейся ситуации.

По принципу закрепления вычислительных функций за отдельными ЭВМ

(процессорами) различают, системы с жестким и плавающим закреплением

функций. В зависимости от типа ВС следует решать задачи статического или

динамического размещения программных модулей и массивов данных,

обеспечивая необходимую гибкость системы и надежность ее

функционирования.

6. По режиму работы ВС (оперативные и неоперативные)

Оперативные, как правило, используют режим реального масштаба

времени. Этот режим характеризуется жесткими ограничениями на время

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

процедур ввода-вывода и обработки данных.

Наибольший интерес у исследователей всех рангов (проектировщиков,

аналитиков и пользователей) вызывают структурные признаки ВС. От того,

насколько структура ВС соответствует структуре решаемых на этой системе

задач, зависит эффективность применения ЭВМ в целом. Структурные

Page 70: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

70

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

и информационных связей между элементами системы, способность системы к

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

элементов. В наибольшей степени структурные характеристики определяются

архитектурой системы.

6.6. Многомашинные ВС. Режимы работы. Отличия от

многопроцессорных ВС

Рисунок 6.2. Многомашинные и многопроцессорные ВС

Многомашинные ВС (Рисунок 6.2.) используются для повышения

производительности, надежности и достоверности вычислений. Исторически

они появились перед многопроцессорными.

Рисунок 6.3.

Положения 1 и 3 электронного ключа (ЭК) обеспечивали режим повышенной

надежности. При этом одна из машин выполняла вычисления, а другая

находилась в «горячем» или «холодном» резерве, т.е. в готовности заменить

основную ЭВМ. Положение 2 электронного ключа соответствовало случаю,

когда обе машины обеспечивали параллельный режим вычислений. Здесь

возможны две ситуации:

а) обе машины решают одну и ту же задачу и периодически сверяют

результаты решения. Тем самым обеспечивался режим повышенной

достоверности, уменьшалась вероятность появления ошибок в результатах

вычислений. Примерно по такой же схеме построены управляющие бортовые

вычислительные комплексы космических аппаратов, ракет, кораблей.

Например, американская космическая система «Шатл» содержала пять

вычислительных машин, работающих по такой схеме;

б) обе машины работают параллельно, но обрабатывают собственные

потоки заданий. Возможность обмена информацией между машинами

Page 71: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

71

сохраняется. Этот вид работы относится к режиму повышенной

производительности. Она широко используется в практике организации работ

на крупных вычислительных центрах, оснащенных несколькими ЭВМ высокой

производительности.

Схема, представленная на рисунке 6.3, была неоднократно повторена в

различных модификациях при проектировании разнообразных

специализированных ММС. Основные различия ММС заключаются, как

правило, в организации связи и обмена информацией между ЭВМ комплекса.

Каждая из них сохраняет возможность автономной работы и управляется

собственной ОС. Любая другая подключаемая ЭВМ комплекса рассматривается

как специальное периферийное оборудование. В зависимости от

территориальной разобщенности ЭВМ и используемых средств сопряжения

обеспечивается различная оперативность их информационного взаимодействия.

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

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

и адаптируемости к конкретным условиям работы. Эффективность обмена

информацией определяется скоростью передачи и возможными объемами

данных, передаваемыми по каналу взаимодействия. Эти характеристики

зависят от средств, обеспечивающих взаимодействие модулей и уровня

управления процессами, на котором это взаимодействие осуществляется.

Сочетание различных уровней и методов обмена данными между модулями ВС

в наиболее полной форме нашло свое выражение в универсальных суперЭВМ и

больших ЭВМ, в которых сбалансировано использовались все методы

достижения высокой производительности.

Многопроцессорные системы (МПС) строятся при комплексировании

нескольких процессоров. В качестве общего ресурса они имеют общую

оперативную память (ООП). Параллельная работа процессоров и

использование ООП обеспечивается под управлением единой операционной

системы. По сравнению с ММС здесь достигается наивысшая оперативность

взаимодействия вычислителей процессоров. Многие исследователи считают,

что использование МПС является основным магистральным путем развития

вычислительной техники новых поколений.

Однако МПС имеет и существенные недостатки. Они в первую очередь

связаны с использованием ресурсов общей оперативной памяти. При большом

количестве комплексируемых процессоров возможно возникновение

конфликтных ситуаций, когда несколько процессоров обращаются с

операциями типа «чтение» и «запись» к одним и тем же областям памяти.

Помимо процессоров к ООП подключаются все каналы (процессоры ввода-

вывода), средства измерения времени и т.д. Поэтому вторым серьезным

недостатком МПС является проблема коммутации абонентов и доступа их к

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

эффективность применения МПС. Это решение обеспечивается аппаратно-

программными средствами. Процедуры взаимодействия очень сильно

усложняют структуру ОС МПС.

Page 72: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

72

Накопленный опыт построения подобных систем показал, что они

эффективны при небольшом числе комплексируемых процессоров (от 2—4 до

10). В отечественных системах «Эльбрус» обеспечивалась возможность работы

до 10 процессоров, до 32 модулей памяти, до 4 процессоров ввода-вывода и до

16 процессоров связи.

Создание подобных коммутаторов представляет сложную техническую

задачу, тем более, что они должны быть дополнены буферами для организации

очередей запросов. Для разрешения конфликтных ситуаций необходимы схемы

приоритетного обслуживания. До настоящего времени в номенклатуре

технических средств ЭВТ отсутствуют высокоэффективные коммутаторы

общей памяти.

6.7. Уровни комплексирования в ВС

Для построения вычислительных систем необходимо, чтобы элементы или

модули, комплексируемые в систему, были совместимы.

Понятие совместимости имеет три аспекта: аппаратный, или технический,

программный и информационный. Техническая (Hardware) совместимость

предполагает, что еще в процессе разработки аппаратуры обеспечиваются

следующие условия:

1. подключаемая друг к другу аппаратура должна иметь единые

стандартные, унифицированные средства соединения: кабели, число проводов в

них, единое назначение проводов, разъемы, заглушки, адаптеры, платы и т.д.;

2. параметры электрических сигналов, которыми обмениваются

технические устройства, тоже должны соответствовать друг другу: амплитуды

импульсов, полярность, длительность и т.д.;

3. алгоритмы взаимодействия (последовательности сигналов по отдельным

проводам) не должны вступать в противоречие друг с другом.

Последний пункт тесно связан с программной совместимостью.

Программная совместимость (Software) требует, чтобы программы,

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

процессорами, между процессорами и внешними устройствами), были

правильно поняты и выполнены другим устройством.

Если обменивающиеся устройства идентичны друг, другу, то проблем

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

и тому же семейству ЭВМ, но стыкуются разные модели (например, ПК на базе

i286 и Pentium), то в таких моделях совместимость обеспечивается «снизу

вверх», т.е. ранее созданные программы могут выполняться на более поздних

моделях, но не наоборот. Если стыкуемая аппаратура имеет совершенно разную

систему команд, то следует обмениваться исходными модулями программ с

последующей их трансляцией.

Информационная совместимость комплексируемых средств предполагает,

что передаваемые информационные массивы будут одинаково

интерпретироваться стыкуемыми модулями ВС. Должны быть

Page 73: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

73

стандартизированы алфавиты, разрядность, форматы, структура и разметка

файлов, томов и т.д.

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

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

и адаптируемости к конкретным условиям работы. Эффективность обмена

информацией определяется скоростью передачи и возможными объемами

данных, передаваемыми по каналу взаимодействия. Эти характеристики

зависят от средств, обеспечивающих взаимодействие модулей и уровня

управления процессами, на котором это взаимодействие осуществляется.

Сочетание различных уровней и методов обмена данными между модулями ВС

в наиболее полной форме нашло свое выражение в универсальных суперЭВМ и

больших ЭВМ, в которых сбалансировано использовались все методы

достижения высокой производительности.

В этих машинах предусматривались следующие уровни

мультиплексирования:

1. прямого управления (процессор — процессор);

2. общей оперативной памяти;

3. комплексируемых каналов ввода-вывода;

4. устройств управления внешними устройствами (УВУ);

5. общих внешних устройств.

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

технические и программные средства, обеспечивающие обмен информацией.

Уровень прямого управления служит для передачи коротких однобайтовых

приказов-сообщений.

Рисунок 6.4. Уровни и средства комплексирования

Последовательность взаимодействия процессоров сводится к следующему.

Процессор-инициатор обмена по интерфейсу прямого управления (ИПУ)

передает в блок прямого управления байт-сообщение и подает команду

«Прямая запись». У другого процессора эта команда вызывает прерывание,

относящееся к классу внешних. В ответ он вырабатывает команду «прямое

Page 74: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

74

чтение» и записывает передаваемый байт в свою память. Затем принятая

информация расшифровывается и по ней принимается решение.

После завершения передачи прерывания снимаются, и оба процессора

продолжают вычисления по собственным программам. Видно, что уровень

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

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

используется в управлении вычисления ми. У ПЭВМ типа IBM PC этому

уровню соответствует .комплексирование процессоров, подключаемых к

системной шине.

Уровень общей оперативной памяти (ООП) является наиболее

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

этом случае ООП эффективно работает только при небольшом числе

обслуживаемых абонентов. Этот уровень широко используется в

многопроцессорных серверах вычислительных сетей.

Уровень комплексируемых каналов ввода-вывода предназначается для

передачи больших объектов информации между блоками оперативной памяти,

сопрягаемых ЭВМ. Обмен данными между ЭВМ осуществляется с помощью

адаптера «канал-канал» (АКК) и команд «Чтение» и «Запись».

Адаптер — это устройство, согласующее скорости работы сопрягаемых

каналов. Обычно сопрягаются селекторные каналы (СК) машин как наиболее

быстродействующие, но можно сопрягать мультиплексные каналы (МК), а

также селекторный и мультиплексный. Скорость обмена данными определяется

скоростью самого медленного канала. Скорость передачи данных по этому

уровню составляет несколько Мбайтов/с. В ПЭВМ данному уровню

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

контроллеры и адаптеры.

Уровень устройств управления внешними устройствами предполагает

использование встроенного в УВУ двухканального переключателя и команд

«Зарезервировать» и «Освободить». Двухканальный переключатель позволяет

подключать УВУ одной машины к селекторным каналам различных ЭВМ. По

команде «Зарезервировать» канал-инициатор обмена имеет доступ через УВУ к

любым накопителям на дисках НМД или на магнитных лентах НМЛ.

Пятый уровень предполагает использование общих внешних

устройств. Для подключения отдельных устройств используется автономный

двухканальный переключатель.

Пять уровней комплексирования получили название логических потому, что

они объединяют на каждом уровне разнотипную аппаратуру, имеющую

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

имя, используемое в прикладных программах. Этим достигается независимость

программ пользователей от конкретной физической конфигурации системы.

Связь логической структуры программы и конкретной физической структуры

ВС обеспечивается операционной системой по указаниям-директивам

пользователя, при генерации ОС и по указаниям диспетчера-оператора

вычислительного центра. Различные уровни комплексирования позволяют

создавать самые различные структуры ВС.

Page 75: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

75

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

Обычно он дополняется и первым уровнем, что повышает оперативность

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

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

Центральным блоком такой системы является быстродействующий

коммутатор, обеспечивающий необходимые подключения абонентов

(процессоров и каналов) к общей оперативной памяти.

Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машинных

комплексов. Особенно часто используется третий в комбинации с четвертым.

Целесообразно их дополнять и первым уровнем.

Пятый уровень комплексирования используется в редких специальных

случаях, когда в качестве внешнего объекта используется какое-то дорогое

уникальное устройство. В противном случае этот уровень малоэффективен.

Любое внешнее устройство — это недостаточно надежное устройство точной

механики, а значит, выгоднее использовать четвертый уровень

комплексирования, когда можно сразу управлять не одним, а несколькими

внешними устройствами, включая и резервные.

Сочетание уровней и методов взаимодействия позволяет создавать самые

различные многомашинные и многопроцессорные системы.

Контрольные вопросы

1.Каковы главные принципы технической реализации модели коллектива

вычислителей?

2.Что обеспечивает модульность вычислительной системы?

3.Что такое близкодействие?

4.Что такое асинхронность функционирования ВС?

5.Что позволяет децентрализованное управление системой?

6.Сформулируйте архитектурные свойства вычислительных систем.

7.Какие имеются способы повышения производительности ЭВМ?

8.Каковы основные уровни параллелизма?

Page 76: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

76

Лекция 7.

Тема 7. Классификация вычислительных систем. Параллельные

алгоритмы

7.1. Основные классы ВС

Классификация архитектур вычислительных систем нужна для того, чтобы

понять особенности работы той или иной архитектуры, но она не является

достаточно детальной, чтобы на нее можно было опираться при создании МВС,

поэтому следует вводить более детальную классификацию, которая связана с

различными архитектурами ЭВМ и с используемым оборудованием.

Можно привести следующую классификацию архитектур параллельных ВС

(Рисунок 7.1.).

Рисунок 7.1. Классы вычислительных систем

Машины SIMD распались на две подгруппы. В первую подгруппу попадают

многочисленные суперкомпьютеры и другие машины, которые оперируют

векторами, выполняя одну и ту же операцию над каждым элементом вектора.

Во вторую подгруппу попадают машины типа ILLIAC IV, в которых главный

блок управления посылает команды нескольким независимым АЛУ.

В нашей классификации категория MIMD распалась на мультипроцессоры

(машины с памятью совместного использования) и мультикомпьютеры

(машины с передачей сообщений). Существует три типа мультипроцессоров.

Они отличаются друг от друга по способу реализации памяти совместного

использования. Они называются UMA (Uniform Memory Access — архитектура

с однородным доступом к памяти), NUMA (NonUniform Memory Access —

архитектура с неоднородным доступом к памяти) и СОМА (Cache Only Memory

Access — архитектура с доступом только к кэш-памяти).

В машинах UMА каждый процессор имеет одно и то же время доступа к

любому модулю памяти. Иными словами, каждое слово памяти можно считать

Page 77: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

77

с той же скоростью, что и любое другое слово памяти. Если это технически

невозможно, самые быстрые обращения замедляются, чтобы соответствовать

самым медленным, поэтому программисты не увидят никакой разницы. Это и

значит «однородный». Такая однородность делает производительность

предсказуемой, а этот фактор очень важен для написания эффективной

программы.

Мультипроцессор NUMA, напротив, не обладает этим свойством. Обычно

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

и доступ к этому модулю памяти происходит гораздо быстрее, чем к другим. С

точки зрения производительности очень важно, куда помещаются программа и

данные. Машины СОМА тоже с неоднородным доступом, но по другой

причине.

Во вторую подкатегорию машин MIMD попадают мультикомпьютеры,

которые в отличие от мультипроцессоров не имеют памяти совместного

использования на архитектурном уровне. Другими словами, операционная

система в процессоре мультикомпьютера не может получить доступ к памяти,

относящейся к другому процессору, просто путем выполнения команды LOAD.

Ему приходится отправлять сообщение и ждать ответа. Именно способность

операционной системы считывать слово из отдаленного модуля памяти с

помощью команды LOAD отличает мультипроцессоры от мультикомпьютеров.

Как мы уже говорили, даже в мультикомпьютере пользовательские программы

могут обращаться к другим модулям памяти с помощью команд LOAD и

STORE, но эту иллюзию создает операционная система, а не аппаратное

обеспечение. Разница незначительна, но очень важна. Так как

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

они иногда называются машинами NORMA (NO Remote Memory Access — без

доступа к отдаленным модулям памяти).

Мультикомпьютеры можно разделить на две категории. Первая категория

содержит процессоры МРР (Massively Parallel Processors — процессоры с

массовым параллелизмом) — дорогостоящие суперкомпьютеры, которые

состоят из большого количества процессоров, связанных высокоскоростной

коммуникационной сетью. В качестве примеров можно назвать Cray T3E и IBM

SP/2.

Вторая категория мультикомпьютеров включает рабочие станции, которые

связываются с помощью уже имеющейся технологии соединения. Эти

примитивные машины называются NOW (Network of Workstations — сеть

рабочих станций) и COW (ClusterofWorkstattions— кластер рабочих станций).

7.2. Параллельные алгоритмы. Параллельная программа. Локальное и

глобальное распараллеливание.

Понятие параллельного алгоритма (Parallel Algorithm) относится к

фундаментальным в теории вычислительных систем. Это понятие, прежде

всего, ассоциируется с вычислительными системами с массовым

параллелизмом. Параллельный алгоритм – это описание процесса обработки

информации, ориентированное на реализацию в коллективе вычислителей.

Page 78: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

78

Такой алгоритм, в отличие от последовательного, предусматривает

одновременное выполнение множества операций в пределах одного шага

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

последующих этапов от результатов предыдущих.

Параллельный алгоритм решения задачи составляет основу параллельной

программы , которая, в свою очередь, влияет на алгоритм функционирования

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

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

параллельной программой, а сам язык – параллельным. Параллельные

алгоритмы и программы следует разрабатывать для тех задач, которые

недоступны для решения на средствах, основанных на модели вычислителя.

Эти задачи принято называть сложными или трудоемкими.

Методы и алгоритмы обработки информации, решения задач, как правило, –

последовательные. Процесс ―приспособления‖ методов к реализации на

коллективе вычислителей или процесс ―расщепления‖ последовательных

алгоритмов решения сложных задач называется распараллеливанием

(Paralleling or Multisequencing).

Теоретическая и практическая деятельность по созданию параллельных

алгоритмов и программ обработки информации называется параллельным

программированием (Parallel or Concurrent Programming). Качество

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

распараллеливания сложных задач.

Существует два подхода при распараллеливании

задач: локальное и глобальное распараллеливание (Рисунок 7.2.). Первый

подход ориентирован на расщепление алгоритма решения сложной задачи на

предельно простые блоки (операции или операторы) и требует выделения для

каждого этапа вычислений максимально возможного количества одновременно

выполняемых блоков. Он не приводит к параллельным алгоритмам,

эффективно реализуемым коллективом вычислителей. В самом деле, процесс

такого распараллеливания весьма трудоемок, а получаемые параллельные

алгоритмы характеризуются не только структурной неоднородностью, но и

существенно разными объемами операций на различных этапах вычислений.

Последнее является серьезным препятствием на пути (автоматизации)

распараллеливания и обеспечения эффективной эксплуатации ресурсов

коллектива вычислителей. Локальное распараллеливание позволяет

оценить предельные возможности коллектива вычислителей при решении

сложных задач, получить предельные оценки по распараллеливанию сложных

задач.

Второй подход ориентирован на разбиение сложной задачи на крупные

блоки–подзадачи, между которыми существует слабая связность. Тогда в

алгоритмах, построенных на основе крупноблочного распараллеливания,

операции обмена между

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

числом операций в каждой подзадаче. Такие подзадачи называют ветвями

Page 79: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

79

параллельного алгоритма, а соответствующие им программы –

ветвями параллельной программы.

Рисунок 7.2. Схемы параллельных алгоритмов

Одним из конструктивных приемов крупноблочного распараллеливания

сложных задач является распараллеливание по циклам. Прием позволяет

представить процесс решения задачи в виде параллельных ветвей, полученных

расщеплением цикла на части, число которых в пределе равно числу

повторений цикла. На входе и выходе из цикла процесс вычислений –

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

задачи незначительна.

Как правило, последовательные участки имеют место в начале и конце

параллельной программы. На начальном участке осуществляется

инициирование программы и ввод исходных данных, а на конечном – вывод

результатов (запись в архивные файлы). При достаточно полном воплощении

принципов модели коллектива вычислителей допустимы реализации в системе

параллельных ввода и вывода информации.

Последовательные участки в параллельной программе также могут иметь

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

(вычислителями).

7.3. Показатели эффективности параллельных вычислений

Ускорение (speedup), получаемое при использовании параллельного

алгоритма для pпроцессоров, по сравнению с последовательным вариантом

выполнения вычислений определяется величиной Sp(n)=T1(n)/Tp(n)

т.е. как отношение времени решения задач на скалярной ЭВМ к времени

выполнения параллельного алгоритма (величина n используется для

параметризации вычислительной сложности решаемой задачи и может

пониматься, например, как количество входных данных задачи).

Page 80: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

80

Эффективность (efficiency) использования параллельным алгоритмом

процессоров при решении задачи определяется

соотношением Ep(n)=T1(n)/(pTp(n))=Sp(n)/p (величина эффективности

определяет среднюю долю времени выполнения алгоритма, в течение которой

процессоры реально используются для решения задачи).

Из приведенных соотношений можно показать, что в наилучшем

случае Sp(n)=p и Ep(n)=1.

При внимательном рассмотрении можно обратить внимание, что попытки

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

(ускорению или эффективности) может привести к ухудшению ситуации по

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

являются противоречивыми. Так, например, повышение ускорения обычно

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

как правило, к падению эффективности. И, обратно, повышение

эффективности достигается во многих случаях при уменьшении числа

процессоров (в предельном случае идеальная эффективность Ep(n)=1легко

обеспечивается при использовании одного процессора). Как результат,

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

некоторого компромиссного варианта с учетом желаемых показателей

ускорения и эффективности.

При выборе надлежащего параллельного способа решения задачи может

оказаться полезной оценка стоимости (cost) вычислений, определяемой как

произведение времени параллельного решения задачи и числа используемых

процессоров.

Cp=pTp

В этой связи можно определить понятие стоимостно-оптимального (cost-

optimal) параллельного алгоритма как метода, стоимость которого является

пропорциональной времени выполнения наилучшего параллельного

алгоритма.

7.4. Закон Амдала

Достижению максимального ускорения может препятствовать

существование в выполняемых вычислениях последовательных расчетов,

которые не могут быть распараллелены. Пусть f есть доля последовательных

вычислений в применяемом алгоритме обработки данных, тогда в соответствии

с законом Амдала (Amdahl) ускорение процесса вычислений при

использовании p процессоров ограничивается величиной

Sp ≤1/(f+(1-f)/p) ≤S*=1/f

Так, например, при наличии всего 10% последовательных команд в

выполняемых вычислениях, эффект использования параллелизма не может

превышать 10-кратного ускорения обработки данных.

Данное замечание характеризует одну из самых серьезных проблем в области

параллельного программирования (алгоритмов без определенной доли

последовательных команд практически не существует). Однако часто доля

последовательных действий характеризует не возможность параллельного

Page 81: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

81

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

результат, доля последовательных вычислений может быть существенно

снижена при выборе более подходящих для распараллеливания алгоритмов;

Следует отметить также, что рассмотрение закона Амдала происходит при

предположении, что доля последовательных расчетов f является постоянной

величиной и не зависит от параметра n, определяющего вычислительную

сложность решаемой задачи. Однако для большого ряда задач

доля f=f(n)является убывающей функцией от n, и в этом случае ускорение для

фиксированного числа процессоров может быть увеличено за счет увеличения

вычислительной сложности решаемой задачи.

Кроме этого, существует понятие «парадокса параллелизма» – достижение

ускорения и эффективности параллельного алгоритма, превышающих значения

1/f и 1, соответственно. Говоря другими словами, «парадокс параллелизма» -

это более чем линейный рост производительности параллельной ВС с

увеличением числа еѐ вычислителей.

«Парадокс параллелизма» по сути не является таковым, а неравенства

объясняются следующими факторами:

1. эффектом памяти,

2. возможностью применения (априори параллельных) методов решения

задач, реализация которых затруднительна на последовательной ЭВМ

(например, снова из-за оперативной памяти, точнее ее ограниченного объема).

Контрольные вопросы

1.Каковы основные классы ВС?

2.Что такое мультикомпьютер?

3.Что такое параллельный алгоритм?

4.Что называется параллельным программированием?

5.Какие существуют подходы при распараллеливании задач?

6.Каковы основные показатели эффективности параллельных вычислений?

7.Сформулируйте закон Амдала.

8.Чем объясняется «парадокс параллелизма»?

Page 82: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

82

Лекция 8.

Тема 8. Параллельные вычисления

8.1. Алгоритмы маршрутизации. Методы передачи данных. Латентность и

пропускная способность сети

Алгоритмы маршрутизации определяют путь передачи данных от

процессора-источника сообщения до процессора, к которому сообщение

должно быть доставлено. Среди возможных способов решения данной задачи

различают:

оптимальные, определяющие всегда наикратчайшие пути передачи

данных, и неоптимальные алгоритмы маршрутизации;

детерминированные и адаптивные методы выбора маршрутов

(адаптивные алгоритмы определяют пути передачи данных в зависимости от

существующей загрузки коммуникационных каналов).

К числу наиболее распространенных оптимальных алгоритмов относится

класс методов покоординатной маршрутизации (dimension-ordered routing), в

которых поиск путей передачи данных осуществляется поочередно для каждой

размерности топологии сети коммуникации. Так, для двумерной решетки такой

подход приводит к маршрутизации, при которой передача данных сначала

выполняется по одному направлению (например, по горизонтали до

достижения вертикали процессоров, в которой располагается процессор

назначения), а затем данные передаются вдоль другого направления (данная

схема известна под названием алгоритма XY-маршрутизации).

Для гиперкуба покоординатная схема маршрутизации может состоять,

например, в циклической передаче данных процессору, определяемому первой

различающейся битовой позицией в номерах процессоров, на котором

сообщение располагается в данный момент времени и на который сообщение

должно быть передано.

Методы передачи данных

Время передачи данных между процессорами определяет

коммуникационную составляющую (communication overhead) длительности

выполнения параллельного алгоритма в многопроцессорной вычислительной

системе. Основной набор параметров, описывающих время передачи данных,

состоит из следующего ряда величин:

время начальной подготовки (tн) характеризует длительность

подготовки сообщения для передачи, поиска маршрута в сети и т.п.;

время передачи служебных данных (tс) между двумя соседними

процессорами (т.е. для процессоров, между которыми имеется физический

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

сообщения, блок данных для обнаружения ошибок передачи и т.п.;

Page 83: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

83

время передачи одного слова данных по одному каналу передачи

данных (tк); длительность подобной передачи определяется полосой

пропускания коммуникационных каналов в сети.

К числу наиболее распространенных методов передачи данных относятся

следующие два основные способа коммуникаций. Первый из них ориентирован

на передачу сообщений (МПС) как неделимых (атомарных) блоков

информации. При таком подходе процессор, содержащий сообщение для

передачи, готовит весь объем данных для передачи, определяет процессор,

которому следует направить данные, и запускает операцию пересылки данных.

Процессор, которому направлено сообщение, в первую очередь осуществляет

прием полностью всех пересылаемых данных и только затем приступает к

пересылке принятого сообщения далее по маршруту. Время пересылки данных

tпд для метода передачи сообщения размером m байт по маршруту длиной l

определяется выражением

tпд = tн + (mtк + tc)l

При достаточно длинных сообщениях временем передачи служебных данных

можно пренебречь и выражение для времени передачи данных может быть

записано в более простом виде

tпд = tн + mtкl

Второй способ коммуникации основывается на представлении пересылаемых

сообщений в виде блоков информации меньшего размера (пакетов), в

результате чего передача данных может быть сведена к передаче пакетов

(МПП). При таком методе коммуникации (cut-through routing or CTR)

принимающий процессор может осуществлять пересылку данных по

дальнейшему маршруту непосредственно сразу после приема очередного

пакета, не дожидаясь завершения приема данных всего сообщения. Время

пересылки данных при использовании метода передачи пакетов будет

определяться выражением

tпд = tн + mtк + tcl

Сравнивая полученные выражения, можно заметить, что в большинстве

случаев метод передачи пакетов приводит к более быстрой пересылке данных;

кроме того, данный подход снижает потребность в памяти для хранения

пересылаемых данных для организации приема-передачи сообщений, а для

передачи пакетов могут использоваться одновременно разные

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

требует разработки более сложного аппаратного и программного обеспечения

сети, может увеличить накладные расходы (время подготовки и время передачи

служебных данных); при передаче пакетов возможно возникновения

конфликтных ситуаций (дедлоков).

Основными характеристиками быстродействия сети являются латентность

(latency) и пропускная способность (bandwidth).

Под пропускной способностью R сети будем понимать количество

информации, передаваемой между узлами сети в единицу времени (байт в

секунду). Очевидно, что реальная пропускная способность снижается

Page 84: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

84

программным обеспечением за счет передачи разного рода служебной

информации.

Латентностью (задержкой) называется время, затрачиваемое программным

обеспечением и устройствами сети на подготовку к передаче информации по

данному каналу. Полная латентность складывается из программной и

аппаратной составляющих.

Различают следующие виды пропускной способности сети:

пропускная способность однонаправленных пересылок («точка-

точка», uni-directional bandwidth), равная максимальной скорости, с которой

процесс на одном узле может передавать данные другому процессу на другом

узле;

пропускная способность двунаправленных пересылок (bi-

directional bandwidth), равная максимальной скорости, с которой два процесса

могут одновременно обмениваться данными по сети.

Значения пропускной способности будем выражать в мегабайтах в секунду

(MB/sec), значения латентности – в микросекундах (msec = 10-6

sec).

Время T(L), необходимое на передачу сообщения длины L, можно

определить следующим образом:

T(L)=s+L/R,

где s - латентность, а R - пропускная способность.

Для приложений с тонкой параллельной структурой (fine-grained parallelism),

какими, как правило, являются вычислительные программы, крайне важны

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

большие объемы пересылок (а это, как правило, коммерческие приложения

БД), более важно максимальное увеличение пропускной способности.

8.2. Передача данных между двумя процессорами и широковещательная

передача

При всем разнообразии выполняемых операций передачи данных при

параллельных способах решения сложных научно-технических задач

определенные процедуры взаимодействия процессоров сети могут быть

отнесены к числу основных коммуникационных действий, которые или

наиболее широко распространены в практике параллельных вычислений, или к

которым могут быть сведены многие другие процессы приема-передачи

сообщений. Важно отметить также, что в рамках подобного базового набора

для большинства операций коммуникации существуют процедуры, обратные по

действию исходным операциям (так, например, операции передачи данных от

одного процессора всем имеющимся процессорам сети соответствует операция

приема в одном процессоре сообщений от всех остальных процессоров). Как

результат, рассмотрение коммуникационных процедур целесообразно

выполнять попарно, поскольку во многих случаях алгоритмы выполнения

Page 85: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

85

прямой и обратной операций могут быть получены исходя из общих

положений.

Рассмотрение основных операций передачи данных в данном разделе будет

осуществляться на примере таких топологий сети, как кольцо, двумерная

решетка и гиперкуб. Для двумерной решетки будет предполагаться также, что

между граничными процессорами в строках и столбцах решетки имеются

каналы передачи данных (т.е. топология сети представляет из себя тор). Как и

ранее, величина m будет означать размер сообщения в байтах, значение p

определяет количество процессоров в сети, а переменная N задает размерность

топологии гиперкуба.

Передача данных между двумя процессорами сети

Трудоемкость данной коммуникационной операции может быть получена

путем подстановки длины максимального пути (диаметра сети) в выражения

для времени передачи данных при разных методах коммуникации (Таблица

8.1.).

Передача данных от одного процессора всем остальным процессорам

сети Операция передачи данных (одного и того же сообщения) от одного

процессора всем остальным процессорам сети (one-to-all broadcast or single-node

broadcast) является одним из наиболее

часто выполняемых коммуникационных действий; двойственная

операция передачи – прием на одном процессоре сообщений от

всех остальных процессоров сети (single-node accumulation).

Таблица 8.1.

Подобные операции используются, в частности, при реализации матрично-

векторного произведения, решении систем линейных уравнений при помощи

метода Гаусса, поиска кратчайших путей и др.

Простейший способ реализации операции рассылки состоит в ее выполнении

как последовательности попарных взаимодействий процессоров сети. Однако

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

применение более эффективных алгоритмов коммуникации. Изложение

материала будет проводиться сначала для метода передачи сообщений, затем –

для пакетного способа передачи данных.

Передача сообщений. Для кольцевой топологии процессор-источник

рассылки может инициировать передачу данных сразу двум своим соседям,

Page 86: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

86

которые, в свою очередь, приняв сообщение, организуют пересылку далее по

кольцу. Трудоемкость выполнения операции рассылки в этом случае будет

определяться соотношение.

Для топологии типа решетки-тора алгоритм рассылки может быть получен

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

рассылка может быть выполнена в виде двухэтапной процедуры. На первом

этапе организуется передача сообщения всем процессорам сети,

располагающимся на той же горизонтали решетки, что и процессор-инициатор

передачи; на втором этапе процессоры, получившие копию данных на первом

этапе, рассылают сообщения по своим соответствующим вертикалям. Оценка

длительности операции рассылки в соответствии с описанным алгоритмом

определяется соотношением.

Для гиперкуба рассылка может быть выполнена в ходе N- этапной процедуры

передачи данных. На первом этапе процессор-источник сообщения передает

данные одному из своих соседей (например, по первой размерности) – в

результате после первого этапа имеется два процессора, имеющих копию

пересылаемых данных (данный результат можно интерпретировать также как

разбиение исходного гиперкуба на два таких одинаковых по размеру гиперкуба

размерности N-1, что каждый из них имеет копию исходного сообщения). На

втором этапе два процессора, задействованные на первом этапе, пересылают

сообщение своим соседям по второй размерности и т.д. В результате такой

рассылки время операции оценивается при помощи выражения.

Сравнивая полученные выражения для длительности выполнения операции

рассылки, можно отметить, что наилучшие показатели имеет топология типа

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

наилучшим для выбранного способа коммуникации с помощью передачи

сообщений.

Передача пакетов. Для топологии типа кольца алгоритм рассылки может

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

виде гиперкуба. В результате на этапе рассылки процессор-источник

сообщения передает данные процессору, находящемуся на расстоянии p/2 от

исходного процессора. Далее, на втором этапе оба процессора, уже имеющие

рассылаемые данные после первого этапа, передают сообщения процессорам,

находящиеся на расстоянии p/4 и т.д. Трудоемкость выполнения операции

рассылки при таком методе передачи данных определяется соотношением

Page 87: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

87

(как и ранее, при достаточно больших сообщениях, временем передачи

служебных данных можно пренебречь).

Для топологии типа решетки-тора алгоритм рассылки может быть получен

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

соответствии с тем же способом обобщения, что и в случае использования

метода передачи сообщений. Получаемый в результате такого обобщения

алгоритм рассылки характеризуется следующим соотношением для оценки

времени выполнения:

Для гиперкуба алгоритм рассылки (и, соответственно, временные оценки

длительности выполнения) при передаче пакетов не отличается от варианта для

метода передачи сообщений.

8.3. Сложные задачи. Масштабируемость параллельных вычислений.

Функция изоэффективности

Эффективность функционирования вычислительных систем зависит от

количества операций, которые требуется выполнить при решении задач и от

числа вычислителей, на котором реализуются P-алгоритмы

(точнее P-программы), от степени адекватности вложения структурных схем

алгоритмов решения в структуры ВС. Среди показателей качества P-

алгоритмов используют коэффициент накладных расходов, который

представим в виде:

где V – количество операций, которые необходимо выполнить при решении

задачи на ВС; n– число параллельных ветвей или число вычислителей, на

которых решается задача, n≥2;

t(V,n) – время, затрачиваемое на:

синхронизацию параллельных ветвей алгоритма,

настройку (программирование структуры) системы,

реализацию обменов информацией между ветвями (вычислителями);

T(V,n) – время, расходуемое системой собственно на счет.

На основе анализа задач и опыта их решения (с использованием

методики крупноблочного распараллеливания) на вычислительных системах

установлено, что при n =const показатель ε(V,n) асимптотически стремится к

нулю с ростом объема операций в задаче, т.е. имеет место: ε(V,n) → 0 при V →

∞. Значения ε(V,n) будут практически удовлетворительными при выполнении

неравенства

V ≥n*10k

где k – эмпирический коэффициент, k≥1. Очевидно, что имеет место

зависимость k от быстродействия ν каналов связей между

вычислителями: k→ 1 при ν → ν*, где 1/ν* – время обращения к локальной

памяти в вычислителе. При удовлетворении неравенства достигается

адекватное размещение параллельной программы на системе из n вычислителей

Page 88: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

88

(при произвольной структуре сети связей) и обеспечивается эффективное

использование этих вычислителей.

Таким образом, если объем операций V, связанных с решением задачи, на

несколько порядков превышает число вычислителей n, на которых должно

осуществляться еѐ решение, то достигается эффективное функционирование

системы. Задачу, для которой выполняется последнее неравенство, будем

называть сложной, или системной, или трудоемкой, или с большим объемом

вычислений. Сложность задачи будем характеризовать количеством операций,

которые необходимо выполнить при ее решении. Задача тем сложнее, чем

больше V. Задачу, которая имеет небольшой объем вычислений и,

следовательно, не допускает эффективного распараллеливания, будем

называть простой. Простая задача требует для своего решения одного

вычислителя.

Анализ масштабируемости параллельных вычислений

Целью применения параллельных вычислений во многих случаях является не

только уменьшение времени выполнения расчетов, но и обеспечение

возможности решения более сложных вариантов решаемых задач (таких

постановок, решение которых не представляется возможным при

использовании однопроцессорных вычислительных систем). Способность

параллельного алгоритма эффективно использовать процессоры при

повышении сложности вычислений является важной характеристикой

выполняемых расчетов. В связи с этим, параллельный алгоритм называют

масштабируемым (scalable), если при росте числа процессоров он обеспечивает

увеличение ускорения при сохранении постоянного уровня эффективности

использования процессоров. Возможный способ характеристики свойств

масштабируемости состоит в следующем.

Оценим накладные расходы (total overhead), которые имеют место при

выполнении параллельного алгоритма

T0 = pTp – T1

Накладные расходы появляются за счет необходимости организации

взаимодействия процессоров, выполнения некоторых дополнительных

действий, синхронизации параллельных вычислений и т.п. Используя

введенное обозначение, можно получить новые выражения для времени

параллельного решения задачи и соответствующего ускорения:

Tp = (T1+T0)/p,

Sp = T1/Tp = pT1/(T1+T0)

Используя полученные соотношения, эффективность использования

процессоров можно выразить как

Ep = Sp/p = T1/(T1+T0) = 1/(1 + T0/T1)

Последнее выражение показывает, что если сложность решаемой задачи

является фиксированной (T1=const), то при росте числа процессоров

эффективность, как правило, будет убывать за счет роста накладных расходов

T0. При фиксации числа процессоров эффективность использования

процессоров можно улучшить путем повышения сложности решаемой задачи

Page 89: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

89

T1 (предполагается, что при росте параметра сложности n накладные расходы

T0 увеличиваются медленнее, чем объем вычислений T1). Как результат, при

увеличении числа процессоров, в большинстве случаев можно обеспечить

определенный уровень эффек4тивности при помощи повышения сложности

решаемых задач. В этой связи, важной характеристикой параллельных

вычислений становится соотношение необходимых темпов роста сложности

расчетов и числа используемых процессоров.

Пусть E=const есть желаемый уровень эффективности выполняемых

вычислений. Из выражения для эффективности можно получить

T0/T1 = (1-E)/E или

T1 = KT0, K=E/(1-E)

Порождаемую последним соотношением зависимость n=F(p) между

сложностью решаемой задачи и числом процессоров обычно

называют функцией изоэффективности.

Контрольные вопросы

1.Назовите распространенные алгоритмы маршрутизации.

2.Перечислите основной набор параметров, описывающих время передачи

данных.

3.Какие различают виды пропускной способности сети?

4.Что такое широковещательная передача?

5.Как определяется трудоемкость выполнения операции рассылки?

6.Как определяется функция изоэффективности?

7.Что называется эффективностью использования процессоров?

8.Что называется сложной или системной задачей?

Page 90: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

90

Лекция 9.

Тема 9. Организация памяти вычислительных систем

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

Особенность ВС – множество параллельно работающих процессоров.

Важная задача – задача организации памяти.

Две проблемы: 1) Различие между быстродействием процессора и памяти

(как и в однопроцессорных системах); 2) Одновременный доступ к памяти

нескольких процессоров.

В зависимости от организации памяти различают:

ВС с общей памятью (shared memory, мультипроцессоры, сильно

связанные, closely coupled systems);

ВС с распределенной памятью (distributed memory, слабо

связанные, loosely coupled systems, мультикомпьютеры).

Различие между общей и распределенной памятью - это разница в структуре

виртуальной памяти, то есть в том, как память выгладит со стороны

процессора. Физически почти каждая система памяти разделена на автономные

компоненты, доступ к которым может производиться независимо. Общую

память от распределенной отличает то, каким образом подсистема памяти

интерпретирует поступивший от процессора адрес ячейки. Для примера

положим, что процессор выполняет команду LoadR0,i, означающую «Загрузить

регистр R0 содержимым ячейки i». В случае общей памяти i - это глобальный

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

распределенной системе памяти i - это локальный адрес. Если два процессора

выполняют команду LoadR0,i, то каждый из них обращается к i-й ячейке в

своей локальной памяти, то есть к разным ячейкам, и в регистры R0 могут быть

загружены неодинаковые значения.

Различие между двумя системами памяти должно учитываться программис-

том, поскольку оно определяет способ взаимодействия частей

распараллеленной программы.

Мультипроцессоры сложно строить, но легко программировать.

Мультикомпьютеры легко строить, но сложно программировать.

Поэтому стали предприниматься попытки создания гибридных систем,

которые относительно легко конструировать и относительно легко

программировать. Это привело к осознанию того, что совместную память

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

преимущества и недостатки.

Практически все исследования в области архитектур с параллельной

обработкой направлены на создание гибридных форм, которые сочетают в себе

преимущества обеих архитектур. Здесь важно получить такую систему, которая

расширяема, то есть которая будет продолжать исправно работать при

Page 91: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

91

добавлении все новых и новых процессоров. Рассмотрим многоуровневую

организацию общей памяти.

9.2. Многоуровневая организация общей памяти

Современные компьютерные системы не монолитны, а состоят из ряда

уровней. Это дает возможность реализовать общую память на любом из

нескольких уровней.

1) Общая память реализована на аппаратном обеспечении.

Одна копия операционной системы с одной таблицей распределения памяти.

Для ОС память монолитна.

2) Общая память реализована на основе ОС и аппаратного обеспечения.

Такой подход называется DSM (Distributed Shared Memory — распределенная

совместно используемая память). Каждая машина содержит свою собственную

виртуальную память и собственные таблицы страниц. По существу,

операционная система просто

вызывает недостающие страницы не с диска, а из памяти. Но у пользователя

создается впечатление, что машина содержит общую разделенную память.

3) Реализация общей разделенной памяти на уровне программного

обеспечения.

При таком подходе абстракцию разделенной памяти создает язык

программирования, и эта абстракция реализуется компилятором. Например,

модель Linda основана на абстракции разделенного пространства кортежей

(записей данных, содержащих наборы полей).

Рисунок 9.1. Организация общей памяти

9.3. Память с чередованием адресов

Физически память вычислительной системы состоит из нескольких модулей

(банков), при этом существенным вопросом является то, как в этом случае

распределено адресное пространство (набор всех адресов, которые может

сформировать процессор). Один из способов распределения виртуальных

адресов по модулям памяти состоит в разбиении адресного пространства на

Page 92: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

92

последовательные блоки. Если память состоит изn банков, то ячейка с

адресом i при поблочном разбиении будет находиться в банке с номером i/n. В

системе памяти с чередованием адресов (interleaved memory) последовательные

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

с номером i modn. Пусть, например, память состоит из четырех банков, по 256

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

банку будут выделены виртуальные адреса 0-255, второму - 256-511 и т. д. В

схеме с чередованием адресов последовательные ячейки в первом банке будут

иметь виртуальные адреса 0, 4, 8, … во втором банке — 1, 5, 9 и т. д.

Распределение адресного пространства по модулям дает возможность

одновременной обработки запросов на доступ к памяти, если соответствующие

адреса относятся к разным банкам. Процессор может в одном из циклов

затребовать доступ к ячейке i, а в следующем цикле - к ячейке j. Если

i и j находятся в разных банках, информация будет передана в

последовательных циклах. Здесь под циклом понимается цикл процессора, в то

время как полный цикл памяти занимает несколько циклов процессора. Таким

образом, в данном случае процессор не должен ждать, пока будет завершен

полный цикл обращения к ячейке i. Рассмотренный прием позволяет повысить

пропускную способность: если система памяти состоит из достаточного числа

банков, имеется возможность обмена информацией между процессором и

памятью со скоростью одно слово за цикл процессора, независимо от

длительности цикла памяти.

Решение о том, какой вариант распределения адресов выбрать (поблочный

или с расслоением), зависит от ожидаемого порядка доступа к информации.

Программы компилируются так, что последовательные команды располагаются

в ячейках с последовательными адресами, поэтому высока вероятность, что

после команды, извлеченной из ячейки с адресом i, будет выполняться команда

из ячейки i +1. Элементы векторов компилятор также помещает в

последовательные ячейки, поэтому в операциях с векторами можно

использовать преимущества метода чередования. По этой причине в векторных

процессорах обычно применяется какой-либо вариант чередования адресов. В

мультипроцессорах с совместно используемой памятью, тем не менее,

используется поблочная адресация, поскольку схемы обращения к памяти в

MIMD-системах могут сильно различаться. В таких системах целью является

соединить процессор с блоком памяти и задействовать максимум находящейся

в нем информации, прежде чем переключиться на другой блок памяти (Рисунок

9.2.).

Page 93: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

93

Рисунок 9.2. Вычислительные системы с общей и распределенной памятью

9.4. Симметричные (SMP) многопроцессорные ВС. Архитектура типа

UMA, COMA, NUMA

Мультипроцессор, как и все компьютеры, должен содержать устройства

ввода-вывода (диски, сетевые адаптеры и т. п.). В одних мультипроцессорных

системах только определенные процессоры имеют доступ к устройствам ввода-

вывода и, следовательно, имеют специальную функцию ввода-вывода. В других

мультипроцессорных системах каждый процессор имеет доступ к любому

устройству ввода-вывода. Если все процессоры имеют равный доступ ко всем

модулям памяти и всем устройствам ввода-вывода и каждый процессор

взаимозаменим с другими процессорами, то такая система называется SMP

(Symmetric Multiprocessor — симметричный мультипроцессор).

В системах с общей памятью все процессоры имеют равные возможности по

доступу к единому адресному пространству. Единая память может быть

построена как одноблочная или по модульному принципу, но обычно

практикуется второй вариант.

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

памяти производится единообразно и занимает одинаковое время,

называют системами с однородным доступом к памяти и обозначают

аббревиатурой UMA (Uniform Memory Access). Это наиболее распространенная

архитектура памяти параллельных ВС с общей памятью.

Технически UMA-системы предполагают наличие узла, соединяющего

каждый из n процессоров с каждым изт модулей памяти. Простейший путь

построения таких ВС - объединение нескольких процессоров (P) с единой

памятью (Mp) посредством общей шины. В этом случае, однако, в каждый

момент времени обмен по шине может вести только один из процессоров, то

есть процессоры должны соперничать за доступ к шине. Когда процессор Рi,

выбирает из памяти команду, остальные процессоры Pj (i<> j) должны ожидать,

пока шина освободится. Если в систему входят только два процессора, они в

состоянии работать с производительностью, близкой к максимальной,

Page 94: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

94

поскольку их доступ к шине можно чередовать; пока один процессор

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

выборки из памяти следующей команды. Однако когда добавляется третий

процессор, производительность начинает падать.

При наличии на шине десяти процессоров, кривая быстродействия шины

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

повышения производительности. Нижняя кривая на рисунке 9.3. иллюстрирует

тот факт, что память и шина обладают фиксированной пропускной

способностью, определяемой комбинацией длительности цикла памяти и

протоколом шины, и в многопроцессорной системе с общей шиной эта

пропускная способность распределена между несколькими процессорами.

Рисунок 9.3. Зависимость производительности от числа процессоров

Если длительность цикла процессора больше по сравнению с циклом памяти,

к шине можно подключать много процессоров. Однако фактически процессор

обычно намного быстрее памяти, поэтому данная схема широкого применения

не находит.

Архитектура UMA

Можно оптимизировать архитектуру UMA, добавляя локальный кэш и

локальную память к каждому из процессоров. Чтобы оптимально использовать

последнюю конфигурацию, компилятор должен поместить в локальные модули

памяти весь текст программы, цепочки, константы, другие данные,

предназначенные только для чтения, стеки и локальные переменные (Рисунок

9.4.). Общая разделенная память используется только для общих переменных.

В большинстве случаев такое разумное размещение сильно сокращает

количество данных, передаваемых по шине, и не требует активного

вмешательства со стороны компилятора.

Page 95: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

95

Рисунок 9.4.Архитектура UMA

Мультипроцессоры UMA с координатными коммутаторами

Даже при всех возможных оптимизациях использование только одной шины

ограничивает размер мультипроцессора UMA до 16 или 32 процессоров. Чтобы

получить больший размер, требуется другой тип коммуникационной сети.

Самая простая схема соединения n процессоров с к блоками памяти —

координатный коммутатор. Координатные коммутаторы используются на

протяжении многих десятилетий для соединения группы входящих линий с

рядом выходящих линий произвольным образом.

Координатный коммутатор представляет собой неблокируемую сеть

(Рисунок 9.5.). Это значит, что процессор всегда будет связан с нужным блоком

памяти, даже если какая-то линия или узел уже заняты. Более того, никакого

предварительного планирования не требуется.

Недостаток системы: рост узлов как n2. При наличии 1000 процессоров и

1000 модулей памяти получаем число узлов – 1 млн. Это неприемлемо. Тем не

менее координатные коммутаторы вполне применимы для систем средних

размеров.

Мультипроцессоры UMA с многоступенчатыми сетями

В основе подхода – коммутатор 2x2. Этот коммутатор содержит два входа и

два выхода. Сообщения, приходящие на любую из входных линий, могут

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

содержать до четырех частей.

Поле Модуль сообщает, какую память использовать. Поле Адрес определяет

адрес в этом модуле памяти. В поле Код операции содержится операция,

например READ или WRITE. Наконец, дополнительное поле Значение может

содержать операнд, например 32-битное слово, которое нужно записать при

выполнении операции WRITE. Коммутатор исследует поле Модуль и

использует его для определения, через какую выходную линию нужно

отправить сообщение: через X или через Y.

Наши коммутаторы 2x2 можно компоновать различными способами и

получать многоступенчатые сети.

Один из возможных вариантов — сеть omega (Рисунок 9.6.). Здесь мы

соединили 8 процессоров с 8 модулями памяти, используя 12 коммутаторов.

Для n процессоров и n модулей памяти нам

Page 96: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

96

понадобится log2n ступеней, n/2 коммутаторов на каждую ступень, то есть

всего (n/2)log2n коммутаторов, что намного лучше, чем n2 узлов (точек

пересечения), особенно для больших n.

Каждая ступень для передачи сигнала в соответствующем направлении

использует биты в поле Модуль (0 – верхний выход, 1 – нижний). При этом

после прохождения ступени соответствующие биты становятся не нужны и они

заменяются на номер входной линии. Рассматривая пути a и b, видим, что они

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

параллельно.

В отличие от координатного коммутатора, сеть omega — это блокируемая

сеть. Не всякий набор запросов может передаваться одновременно. Конфликты

могут возникать при использовании одного и того же провода или одного и

того же коммутатора, а также между запросами, направленными к памяти, и

ответами, исходящими из памяти.

Рисунок 9.5. Координатный коммутатор

Рисунок 9.6. Сеть omega

Page 97: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

97

Мультипроцессоры NUMA

Для большей масштабируемости мультипроцессоров приспособлена

архитектура NUMA (NonUniform Memory Access — с неоднородным доступом

к памяти). Как и мультипроцессоры UMA, они обеспечивают единое адресное

пространство для всех процессоров, но, в отличие от машин UMA, доступ к

локальным модулям памяти происходит быстрее, чем к удаленным.

Машины NUMA имеют три ключевые характеристики, которыми все они

обладают и которые в совокупности отличают их от других

мультипроцессоров:

1. Существует одно адресное пространство, видимое для всех процессоров.

2. Доступ к удаленной памяти производится с использованием команд LOAD

и STORE.

3. Доступ к удаленной памяти происходит медленнее, чем доступ к

локальной памяти. Доступ процессора к собственной Локальной памяти

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

через коммутатор или сеть.

В рамках концепции NUMA реализуется несколько различных подходов,

обозначаемых аббревиатурами СОМА, cc-numa и ncc-numa.

Особенности COMA

1) Локальная память каждого процессора рассматривается как кэш для

доступа «своего» процессора.

2) Кэши всех процессоров рассматриваются как глобальная память системы,

а сама глобальная память отсутствует.

3) Данные не привязаны к конкретному модулю памяти и не

имеют уникального адреса, остающегося неизменным в течение всего времени

существования переменной.

4) Данные переносятся в кэш-память того процессора, который последним их

запросил. Перенос данных из одного локального кэша в другой не требует

участия в этом процессе операционной системы, но подразумевает сложную и

дорогостоящую аппаратуру управления памятью.

Контрольные вопросы

1.Как различают ВС в зависимости от памяти?

2.Что такое UMA системы?

3.Как зависит производительность от числа процессоров?

4.Что такое координатный коммутатор?

5.Опишите мультипроцессоры UMA с координатными коммутаторами.

6.Как функционируют процессоры NUMA?

7.Сформулируйте особенности СОМА.

8.Каким образом можно компоновать коммутаторы 2х2?

Page 98: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

98

Лекция 10.

Тема 10. Векторные и векторно-конвейерные вычислительные системы

Область применения векторно-конвейерных ВС – задачи моделирования

реальных процессов и объектов, для которых характерна обработка больших

регулярных массивов чисел в форме с плавающей запятой. Такие массивы

представляются матрицами и векторами, а алгоритмы их обработки

описываются в терминах матричных операций.

Для обработки массивов требуются вычислительные средства, позволяющие

с помощью единой команды производить действие сразу над всеми элементами

массивов – средства векторной обработки.

10.1. Понятие вектора и размещение данных в памяти

В средствах векторной обработки под вектором понимается одномерный

массив однотипных данных (обычно в форме с плавающей запятой),

регулярным образом размещенных в памяти ВС. Если обработке подвергаются

многомерные массивы, их также рассматривают как векторы. Такой подход

допустим, если учесть, каким образом многомерные массивы хранятся в памяти

ВМ. Пусть имеется массив данных A, представляющий собой прямоугольную

матрицу (Таблица 10.1.) размерности 4x5.

Таблица 10.1.

a11 a12 a13 a14 a15

a21 a22 a23 a24 a24

a31 a32 a33 a34 a35

a41 a42 a43 a44 a45

При размещении матрицы в памяти все ее элементы заносятся в ячейки с по-

следовательными адресами, причем данные могут быть записаны строка за

строкой или столбец за столбцом. С учетом такого размещения многомерных

массивов в памяти (Рисунок 10.1.) вполне допустимо рассматривать их как

векторы и ориентировать соответствующие вычислительные средства на

обработку одномерных массивов данных (векторов).

Характеристики вектора:

Шаг по индексу (stride)

Длина

Page 99: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

99

Рисунок 10.1. Размещение многомерных массивов в памяти

10.2. Понятие векторного процессора

Векторный процессор — это процессор, в котором операндами некоторых

команд могут выступать упорядоченные массивы данных — векторы.

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

1. дополнительный блок к универсальной ВС.

2. основа самостоятельной ВС.

Рассмотрим возможные подходы к архитектуре средств векторной

обработки. Наиболее распространенные из них сводятся к трем группам:

конвейерное АЛУ;

массив АЛУ;

массив процессорных элементов.

Последний вариант - один из случаев многопроцессорной системы,

известной как матричная ВС. Понятие векторного процессора имеет отношение

к двум первым группам, причем, как правило, к первой.

Рисунок 10.2. Конвейерное АЛУ

В варианте с конвейерным АЛУ (Рисунок 10.2. слева) обработка элементов

векторов производится конвейерным АЛУ для чисел с плавающей запятой (ПЗ)

Page 100: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

100

(Рисунок 10.3.). Операции с числами в форме с ПЗ достаточно сложны, но

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

быть сведено к четырем этапам:

1. сравнению порядков,

2. сдвигу мантиссы меньшего из чисел,

3. сложению мантисс

4. нормализации результата.

Каждый этап может быть реализован с помощью отдельной ступени

конвейерного АЛУ. Очередной элемент вектора подается на вход конвейера,

как только освобождается первая ступень. Ясно, что такой вариант вполне

годится для обработки векторов.

Одновременные операции над элементами векторов можно проводить и с по-

мощью нескольких параллельно используемых АЛУ, каждое из которых

отвечает за одну пару элементов.

Рисунок 10.3. Структура арифметического конвейера

Если параллельно используются конвейерные АЛУ, то возможен еще один уро-

вень конвейеризации. Вычислительные системы, где реализована эта идея,

называют векторно-конвейерными. Коммерческие векторно-конвейерные ВС, в

состав которых для обеспечения универсальности включен также скалярный

процессор, известны как суперЭВМ.

10.3. PVP-система

Вычислительная система на векторно-конвейерных процессорах, в которых

предусмотрены команды однотипной обработки векторов независимых данных,

эффективно выполняющиеся на конвейерных функциональных устройствах.

Обычно несколько таких процессоров работают одновременно над общей

памятью (аналогично SMP) в рамках многопроцессорных конфигураций.

Несколько узлов могут быть объединены с помощью коммутатора

(аналогично MPP). Поскольку передача данных в векторном формате

осуществляется намного быстрее, чем в скалярном (максимальная скорость

Page 101: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

101

может составлять 64 Гбайт/с, что на 2 порядка быстрее, чем в скалярных

машинах), то проблема взаимодействия между потоками данных при

распараллеливании становится несущественной. И то, что плохо

распараллеливается на скалярных машинах, хорошо распараллеливается на

векторных. Таким образом, системы PVP-архитектуры могут являться

машинами общего назначения (general purpose systems). Однако, поскольку

векторные процессоры весьма дорого стоят, эти машины не могут быть

общедоступными.

Наиболее популярны три машины PVP-архитектуры:

1. CRAY X1, SMP-архитектура. Пиковая производительность системы в

стандартной конфигурации может составлять десятки терафлопс.

2. NEC SX-6, NUMA-архитектура. Пиковая производительность системы

может достигать 8 Тфлопс, производительность одного процессора составляет

9,6 Гфлопс. Система масштабируется с единым образом операционной системы

до 512 процессоров.

3. Fujitsu-VPP5000 (vector parallel processing), MPP-архитектура.

Производительность одного процессора составляет 9.6 Гфлопс, пиковая

производительность системы может достигать 1249 Гфлопс, максимальная

емкость памяти – 8 Тбайт.

10.4. Структура векторного процессора

Обобщенная структура векторного процессора приведена на рис. На схеме

показаны основные узлы процессора, без детализации некоторых связей между

ними.

Особенности векторного процессора

Обработка всех n компонентов векторов-операндов задается одной

векторной командой.

Элементы векторов представляются числами в форме с плавающей

запятой (ПЗ).

АЛУ векторного процессора может быть реализовано в виде:

o единого конвейерного устройства, способного выполнять все

предусмотренные операции над числами с ПЗ

o АЛУ состоит из отдельных блоков сложения и умножения, а иногда

и блока для вычисления обратной величины, когда операция

деления x/y реализуется в виде x(1/y). Каждый из таких блоков также

конвейеризирован.

Состав векторной системы:

Cкалярный процессор, что позволяет параллельно выполнять векторные и

скалярные команды.

Page 102: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

102

Векторные регистры для хранения векторов-операндов, которые

представляют собой совокупность скалярных регистров, объединенных в

очередь типа FIFO, способную хранить 50-100 чисел с плавающей запятой

(Рисунок 10.4.).

Рисунок 10.4. Векторная система

Набор векторных регистров (Va, Vb, Vc,...) имеется в любом векторным

процессоре. Система команд векторного процессора поддерживает работу с

векторными регистрами и обязательно включает в себя команды:

загрузки векторного регистра содержимым последовательных ячеек

памяти, указанных адресом первой ячейки этой последовательности;

выполнения операций над всеми элементами векторов, находящихся в

векторных регистрах;

сохранения содержимого векторного регистра в последовательности

ячеек памяти, указанных адресом первой ячейки этой последовательности.

Регистр длины вектора. Этот регистр определяет, сколько элементов

фактически содержит обрабатываемый в данный момент вектор, то есть

сколько индивидуальных операций с элементами нужно сделать.

Регистр максимальной длины вектора, определяющий максимальное

число элементов вектора, которое может быть одновременно обработано

аппаратурой процессора. Этот регистр используется при разделении очень

длинных векторов на сегменты, длина которых соответствует максимальному

числу элементов, обрабатываемых аппаратурой за один прием.

Регистр маски вектора служит для выполнения таких операций, в

которых должны участвовать не все элементы векторов. В этом регистре

каждому элементу вектора соответствует один бит. Установка бита в единицу

разрешает запись соответствующего элемента вектора результата в выходной

векторный регистр, а сброс в ноль — запрещает.

Регистр вектора индексов по структуре аналогичен регистру маски.

Служит для выполнения операций упаковки/распаковки для получения вектора,

содержащего ненулевые элементы и для обратной операции соответственно. В

векторе индексов каждому элементу исходного вектора соответствует один бит.

Page 103: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

103

Нулевое значение бита свидетельствует, что соответствующий элемент ис-

ходного вектора равен нулю.

Достоинства векторного процессора

1. Вместо многократной выборки одних и тех же команд достаточно произ-

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

издержки за счет устройства управления и уменьшить требования к пропускной

способности памяти.

2. Векторная команда обеспечивает процессор упорядоченными данными.

Когда инициируется векторная команда, ВС знает, что ей нужно извлечь n пар

операндов, расположенных в памяти регулярным образом. Таким образом,

процессор может указать памяти на необходимость начать извлечение таких

пар. Если используется память с чередованием адресов, эти пары могут быть

получены со скоростью одной пары за цикл процессора и направлены для обра-

ботки в конвейеризированный функциональный блок. При отсутствии

чередования адресов или других средств извлечения операндов с высокой

скоростью преимущества обработки векторов существенно снижаются.

10.5. Структуры типа «память-память» и «регистр-регистр»

Принципиальное различие архитектур векторных процессоров проявляется в

том, каким образом осуществляется доступ к операндам (Рисунок 10.5.). При

организации «память-память» элементы векторов поочередно извлекаются из

памяти и сразу же направляются в функциональный блок. По мере обработки

получающиеся элементы вектора результата сразу же заносятся в память. В

архитектуре типа «регистр-регистр» операнды сначала загружаются

в векторные регистры, каждый из которых может хранить сегмент вектора,

например 64 элемента. Векторная операция реализуется путем извлечения

операндов из векторных регистров и занесения результата в векторные

регистры.

Рисунок 10.5. Структуры типа «память-память» и «регистр-регистр»

Advanced Scientific Computer фирмы Texas Instruments Inc.

Control Data Corporation (Star 100, Cyber 200)

Page 104: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

104

Все эти вычислительные системы появились в середине 70-х прошлого века

после длительного цикла разработки, но к середине 80-х годов от них

отказались. Причиной послужило слишком большое время запуска - порядка

100 циклов процессора. Это означает, что операции с короткими векторами

выполняются очень неэффективно, и даже при длине векторов в 100 элементов

процессор достигал только половины потенциальной производительности.

В вычислительных системах типа «регистр-регистр» векторы имеют сравни-

тельно небольшую длину (в ВС семейства Cray - 64), но время запуска значи-

тельно меньше чем в случае «память-память». Преимущество ВС с режимом

«регистр-регистр» - эффективная обработка коротких векторов.

Недостаток: обработка длинных векторов (векторные регистры должны

загружаться сегментами несколько раз). В настоящее время ВП типа «регистр-

регистр» доминируют на компьютерном рынке.

Реализация систем типа «регистр-регистр»

Cray Research Inc. Y-MP и С-90

фирмы Fujitsu, Hitachi и NEC

Это вычислительные системы фирмы, в частности модели Y-MP и С-90.

Аналогичный подход заложен в системы фирм Fujitsu, Hitachi и NEC. Время

цикла в современных ВС варьируется от 2,5 нс (NEC SX-3) до 4,2 нс (Cray C90),

а производительность, измеренная по тесту UNPACK, лежит в диапазоне от

1000 до 2000 MFLOPS (от 1 до 2 GFLOPS).

10.6. Обработка длинных векторов и матриц

Аппаратура векторных процессоров типа «регистр-регистр» ориентирована

на обработку векторов, длина которых совпадает с длиной векторных регистров

(ВР), поэтому обработка коротких векторов не вызывает проблем — достаточно

записать фактическую длину вектора в регистр длины вектора.

Если размер векторов превышает емкость ВР, используется техника

разбиения исходного вектора на сегменты одинаковой длины, совпадающей с

емкостью векторных регистров (последний сегмент может быть короче), и

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

прием называютstrip-mining. Процесс разбиения обычно происходит на стадии

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

с помощью аппаратных средств на основе информации, хранящейся в регистре

максимальной длины вектора.

10.7. Ускорение вычислений

Для повышения скорости обработки векторов все функциональные блоки

векторных процессоров строятся по конвейерной схеме, причем так, чтобы

каждая ступень любого из конвейеров справлялась со своей операцией за один

такт (число ступеней в разных функциональных блоках может быть

различным). В некоторых векторных ВС, например Cray C90, этот подход

Page 105: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

105

несколько усовершенствован — конвейеры во всех функциональных блоках

продублированы.

Рисунок 10.6. Ускорение вычислений Cray C90

На конвейер 0 всегда подаются элементы векторов с четными номерами, а на

конвейер 1 – с нечетными (Рисунок 10.6.) В начальный момент на первую

ступень конвейера 0 из ВР V1 и V2 поступают нулевые элементы векторов.

Одновременно первые элементы векторов из этих регистров подаются на

первую ступень конвейера 1. На следующем такте на конвейер 0 подаются

вторые элементы из V1 иV2, а на конвейер 2 - третьи элементы и т. д.

Аналогично происходит распределение результатов в выходном векторном

регистре V. В итоге функциональный блок при максимальной загрузке в

каждом такте выдает не один результат, а два. Добавим, что в скалярных

операциях работает только конвейер 0.

Интересной особенностью некоторых ВП типа «регистр-регистр», например

ВС фирмы Cray Research Inc., является так называемое сцепление

векторов (vector chaining или vector linking), когда ВР результата одной

векторной операции используется в качестве входного регистра для

последующей векторной операции (Рисунок 10.7.). Для примера рассмотрим

последовательность из двух векторных команд, предполагая, что длина

векторов равна 64:V2 =VoxV1, V4 =V2 + V3.

Рисунок 10.7. Vector chaining

Результат первой команды служит операндом для второй. Напомним, что по-

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

конвейерный умножитель до 64 пар чисел. Примерно в середине выполнения

команды складывается ситуация, когда несколько начальных элементов вектора

Page 106: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

106

V2 будут уже содержать недавно вычисленные произведения; часть элементов

V2 все еще будет находиться в конвейере, а оставшиеся элементы операндов

V0 и V1 еще остаются во входных векторных регистрах, ожидая загрузки в

конвейер. Такая ситуация показана на рис., где элементы векторов V0 и V1,

находящиеся в конвейерном умножителе, имеют темную закраску. В этот

момент система извлекает элементы V0[k] и V1[k] с тем, чтобы направить их на

первую ступень конвейера, в то время как V2[j] покидает конвейер. Сцепление

векторов иллюстрирует линия, обозначенная звездочкой. Одновременно с

занесением V2[j] в ВР этот элемент направляется и в конвейерный сумматор,

куда также подается и элемент V3[j]. Как видно из рисунка, выполнение второй

команды может начаться до завершения первой, и поскольку одновременно

выполняются две команды, процессор формирует два результата за цикл (V4[i]

и V2[j]) вместо одного. Без сцепления векторов пиковая производительность

Сгау-1 была бы 80 MFLOPS (один полный конвейер производит результат

каждые 12,5 не). При сцеплении трех конвейеров теоретический пик

производительности - 240 MFLOPS. В принципе сцепление векторов можно

реализовать и в векторных процессорах типа «память-память», но для этого

необходимо повысить пропускную способность памяти. Без сцепления

необходимы три «канала»: два для входных потоков операндов и один — для

потока результата. При использовании сцепления требуется обеспечить пять

каналов: три входных и два выходных.

Завершая обсуждение векторных и векторно-конвейерных ВС, следует отме-

тить, что с середины 90-х годов прошлого века этот вид ВС стал уступать свои

позиции другим более технологичным видам систем. Тем не менее одна из

последних разработок корпорации NEC (2002 год) - вычислительная система

«Модель Земли» (The Earth Simulator), - являющаяся на сегодняшний момент

самой производительной вычислительной системой в классе, по сути

представляет собой векторно-конвейерную ВС. Система включает в себя 640

вычислительных узлов по 8 векторных процессоров в каждом. Пиковая

производительность суперкомпьютера превышает 40 TFLOPS.

10.8. Функциональные устройства

ФУ исполняют свой набор команд и могут работать одновременно друг с

другом. Все ФУ конвейерные и делятся на четыре группы: адресные,

скалярные, векторные и для работы с плавающей точкой.

Адресные ФУ (2): целочисленное сложение/вычитание, целочисленное

умножение.

Скалярные ФУ (4): целочисленное сложение/вычитание, логические

поразрядные операции, сдвиг, число единиц/число нулей до первой единицы.

Векторные ФУ (5-7): целочисленное сложение/вычитание, сдвиг, логические

поразрядные операции (1-2), число единиц/число нулей до первой единицы (1-

2), умножение битовых матриц (0-1). Предназначены для выполнения только

векторных команд.

Page 107: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

107

ФУ с плавающей точкой (3): сложение/вычитание, умножение, нахождение

обратной величины. Предназначены для выполнения как векторных, так и

скалярных команд.

Векторные ФУ и ФУ с плавающей точкой продублированы: векторные

команды разбивают 128 элементов векторных регистров на четные и нечетные,

обрабатываемые одновременно двумя конвейерами (pipe 0, pipe 1).

Когда завершается выполнение очередной пары операций результаты

записываются на соответствующие четные и нечетные позиции выходного

регистра. В полностью скалярных операциях, использующих ФУ с плавающей

точкой, работает только один конвейер.

ФУ имеют различное число ступеней конвейера, но каждая ступень

срабатывает за один такт, поэтому при полной загрузке все ФУ могут выдавать

результат каждый такт.

10.9. Секция управления процессора

Команды выбираются из ОП блоками и заносятся в буфера команд, откуда

они затем выбираются для исполнения. Если необходимой для исполнения

команды нет в буферах команд, то происходит выборка очередного блока.

Команды имеют различный формат и могут занимать 1 пакет (16 разрядов), 2

пакета или 3 пакета (в одном слове 64 разряда, следовательно, в слове

содержится 4 пакета). Максимальная длина программы на CRAY C90 равна 1

Гигаслову.

Параллельное выполнение программ

Конвейеризация выполнения команд

Все основные операции, выполняемые процессором: обращения в память,

обработка команд и выполнение инструкций являются конвейерными.

Независимость функциональных устройств

Большинство ФУ в CRAY C90 являются независимыми, поэтому несколько

операций могут выполняться одновременно. Для

операции A=(B+C)*D*E порядок выполнения может быть следующим (все

аргументы загружены в S регистры). Генерируются три инструкции:

умножение D и E, сложение B и C и умножение результатов двух предыдущих

операций. Первые две операции выполняются одновременно, затем третья.

Векторная обработка

Векторная обработка увеличивает скорость и эффективность обработки за

счет того, что обработка целого набора (вектора) данных выполняется одной

командой. Скорость выполнения операций в векторном режиме

приблизительно в 10 раз выше скорости скалярной обработки. Для фрагмента

типа

Do i = 1, n A(i) = B(i)+C(i) End Do

в скалярном режиме потребуется сгенерировать целую последовательность

команд: прочитать элемент B(I), прочитать элемент C(I), выполнить сложение,

записать результат в A(I), увеличить параметр цикла, проверить условие цикла.

В векторном режиме этот фрагмент преобразуется в: загрузить порцию массива

Page 108: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

108

B, загрузить порцию массива C (эти две операции будут выполняться со

сдвигом в один такт, т.е. практически одновременно), векторное сложение,

запись порции массива в память, если размер массивов больше длины

векторных регистров, то повторить эту последовательность некоторое число

раз.

Перед тем, как векторная операция начнет выдавать результаты, проходит

некоторое время (startup), связанное с заполнением конвейера и подкачкой

аргументов. Чем больше длина векторов, тем менее заметным оказывается

влияние данного начального промежутка времени на все время выполнения

программы.

Векторные операции, использующие различные ФУ и регистры, могут

выполняться параллельно.

Зацепление функциональных устройств

Архитектура CRAY C90 позволяет использовать регистр результатов

векторной операции в качестве входного регистра для последующей векторной

операции, т.е. выход сразу подается на вход. Это называется зацеплением

векторных операций. Вообще говоря, глубина зацепления может быть любой,

например, чтение векторов, выполнение операции сложения, выполнение

операции умножения, запись векторов.

Многопроцессорная обработка: multiprogramming, multitasking

Контрольные вопросы

1.Что понимается под "вектором" в средствах векторной обработки?

2.Что такое векторный процессор?

3.Назовите самые распространенные архитектуры средств векторной

орбработки.

4.Из чего состоит векторная система?

5.Перечислите достоинства векторного процессора.

6.Что такое "сцепление векторов"?

7.Перечислите типы функциональных устройств.

8.Перечислите типы параллельного выполнения программ.

Page 109: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

109

Лекция 11.

Тема 11. Матричные вычислительные системы

Назначение матричных вычислительных систем - обработка больших

массивов данных (во многом схоже с назначением векторных ВС). В основе

матричных систем лежит матричный процессор (array processor), состоящий из

регулярного массива процессорных элементов (ПЭ).

Организация систем подобного типа на первый взгляд достаточно проста.

Они имеют общее управляющее устройство, генерирующее поток команд, и

большое число ПЭ, работающих параллельно и обрабатывающих каждый свой

поток данных.

Между матричными и векторными системами есть существенная разница.

Матричный процессор интегрирует множество идентичных функциональных

блоков (ФБ), логически объединенных в матрицу и работающих в SIMD-стиле.

Не столь существенно, как конструктивно реализована матрица процессорных

элементов — на едином кристалле или на нескольких. Важен сам принцип - ФБ

логически скомпонованы в матрицу и работают синхронно, то есть

присутствует только один поток команд для всех. Векторный процессор имеет

встроенные команды для обработки векторов данных, что позволяет

эффективно загрузить конвейер из функциональных блоков. В свою очередь,

векторные процессоры проще использовать, потому что команды для

обработки векторов — это более удобная для человека модель

программирования, чем SIMD.

Структуру матричной вычислительной системы можно представить в

следующем виде (Рисунок 11.1.).

Рассмотрим компоненты обобщенной модели матричной ВС:

Массив процессоров (МПр) осуществляет параллельную обработку

множественных элементов данных.

Контроллер массива процессоров (КМП) генерирует единый поток команд,

управляющий обработкой данных в массиве процессоров, выполняет

последовательный программный код, реализует операции условного и

безусловного переходов, транслирует в МПр команды, данные и сигналы

управления. Команды обрабатываются процессорами в режиме жесткой

синхронизации.

Page 110: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

110

Рисунок 11.1. Обобщенная модель матричной ВС

Сигналы управления используются для синхронизации команд и пересылок,

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

процессоры массива должны выполнять операцию, а какие - нет.

Шина широковещательной рассылки служит для передачи команд, данных и

сигналов управления из КМП в массив процессоров.

Шина результата служит для трансляции результатов вычислений из МПр

в КМП (это требуется, поскольку выполнение операций условного перехода

зависит от результатов вычислений).

Интерфейсная ВМ (front-end computer) служит для обеспечения

пользователя удобным интерфейсом при создании и отладке программ. В роли

такой ВМ выступает универсальная вычислительная машина, на которую

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

того, загрузка программ и данных в КМП может производиться и напрямую с

устройств ввода/вывода, например с магнитных дисков. После загрузки КМП

приступает к выполнению программы, транслируя в МПр по

широковещательной шине соответствующие SIMD-команды.

Рассматривая массив процессоров, следует учитывать, что для хранения

множественных наборов данных в нем, помимо множества процессоров,

должно присутствовать и множество модулей памяти. Кроме того, в массиве

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

между процессорами и модулями памяти.

Таким образом, под термином массив процессоров понимают блок,

состоящий из процессоров, модулей памяти и сети соединений.

Дополнительную гибкость при работе с рассматриваемой системой

обеспечивает механизм маскирования, позволяющий привлекать к участию в

операциях лишь определенное подмножество из входящих в массив

процессоров. Маскирование реализуется как на стадии компиляции, так и на

этапе выполнения, при этом процессоры, исключенные путем установки в ноль

соответствующих битов маски, во время выполнения команды простаивают.

Page 111: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

111

11.1. Интерфейсная ВМ

Интерфейсная ВМ (ИВМ) соединяет матричную SIMD-систему с внешним

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

Ethernet, как это имеет место в системе MasPar MP-1. Интерфейсная ВМ

работает под управлением операционной системы, чаще всего ОС UNIX. На

ИВМ пользователи подготавливают, компилируют и отлаживают свои

программы. В процессе выполнения программы сначала загружаются из

интерфейсной ВМ в контроллер управления массивом процессоров, который

выполняет программу и распределяет команды и данные по процессорным

элементам массива. В некоторых ВС, например в Massively Parallel Computer

MPP, при создании, компиляции и отладке программ КМП и интерфейсная ВМ

используются совместно.

На роль ИВМ подходят различные вычислительные машины. Так, в системе

СМ-2 в этом качестве выступает рабочая станция SUN-4, в системе MasPar —

DECstation 3000, а в системе МРР - DEC VAX-11/78

11.2. Контроллер массива процессоров

Функции контроллера массива процессоров:

выполняет последовательный программный код,

реализует команды ветвления программы,

транслирует команды и сигналы управления в процессорные элементы.

Рисунок 11.2. иллюстрирует одну из возможных реализаций КМП, в

частности принятую в устройстве управления системы PASM (Partitioned

SIMD/MIMD computer).

Рисунок 11.2. Контроллер массива процессоров

При загрузке из ИВМ программа через интерфейс ввода/вывода заносится в

оперативное запоминающее устройство КМП (ОЗУ КМП). Команды для

процессорных элементов и глобальная маска, формируемая на этапе

компиляции, также через интерфейс ввода/вывода загружаются в ОЗУ команд и

Page 112: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

112

глобальной маски (ОЗУ КГМ). Затем КМП начинает выполнять программу,

извлекая либо одну скалярную команду из ОЗУ КМП, либо множественные

команды из ОЗУ КГМ. Скалярные команды - команды, осуществляющие

операции над хранящимися в КМП скалярными данными, выполняются

центральным процессором (ЦП) контроллера массива процессоров. В свою

очередь, команды, оперирующие параллельными переменными, хранящимися в

каждом ПЭ, преобразуются в блоке выборки команд в более простые единицы

выполнения - нанокоманды. Нанокоманды совместно с маской пересылаются

через шину команд для ПЭ на исполнение в массив процессоров. Например,

команда сложения 32-разрядных слов в КМП системы МРР преобразуется в 32

нанокоманды одноразрядного сложения, которые каждым ПЭ обрабатываются

последовательно,

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

результатов и/или флагов условий предшествующих операций. Для

обеспечения такого режима в матричных системах статусная информация,

хранящаяся в процессорных элементах, должна быть собрана в единое слово и

передана в КМП для выработки решения о ветвлении программы. Например, в

предложении

IF A (условиеA) THEN DO В

оператор В будет выполнен, если условие А справедливо во всех ПЭ. Для

корректного включения/отключения процессорных элементов КМП должен

знать результат проверки условия А во всех ПЭ. Такая информация передается

в КМП по однонаправленной шине результата. В системе СМ-2 эта шина

названа GLOBAL. В системе МРР для той же цели организована структура,

называемая деревом SUM - OR. Каждый ПЭ помещает содержимое своего

одноразрядного регистра признака на входы дерева, которое с помощью

операции логического сложения комбинирует эту информацию и формирует

слово результата, используемое в КМП для принятия решения.

11.3. Массив процессоров

В матричных SIMD-системах распространение получили два основных типа

архитектурной организации массива процессорных элементов.

В первом варианте, известном как архитектура типа «процессорный элемент

- процессорный элемент»(«ПЭ-ПЭ») (Рисунок 11.3.):

N процессорных элементов (ПЭ) связаны между собой сетью соединений.

Каждый ПЭ - это процессор с локальной памятью.

Процессорные элементы выполняют команды, получаемые из КМП по

шине широковещательной рассылки, и обрабатывают данные как хранящиеся

в их локальной памяти, так и поступающие из КМП.

Обмен данными между процессорными элементами производится по сети

соединений, в то время как шина ввода/вывода служит для обмена

информацией между ПЭ и устройствами ввода/вывода.

Page 113: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

113

Для трансляции результатов из отдельных ПЭ в контроллер массива

процессоров служит шина результата.

Благодаря использованию локальной памяти аппаратные средства ВС

рассматриваемого типа могут быть построены весьма эффективно. Во многих

алгоритмах действия по пересылке информации по большей части локальны, то

есть происходят между ближайшими соседями. По этой причине архитектура,

где каждый ПЭ связан только с соседними, очень популярна. В качестве

примеров вычислительных систем с рассматриваемой архитектурой можно

упомянуть MasPar MP-1, Connection Machine CM-2, GF11, DAP, МРР, STARAN,

PEPE, ILLIAC IV.

Рисунок 11.3. Архитектура типа «процессорный элемент - процессорный

элемент»

Второй вид архитектуры — «процессор-память» (Рисунок 11.4.). В такой

конфигурации двунаправленная сеть соединений связывает N процессоров с М

модулями памяти. Процессоры управляются КМП через широковещательную

шину. Обмен данными между процессорами осуществляется как через сеть, так

и через модули памяти. Пересылка данных между модулями памяти и

устройствами ввода/вывода обеспечивается шиной ввода/вывода. Для передачи

данных из конкретного модуля памяти в КМП служит шина результата.

Рисунок 11.4. Архитектура типа «процессор-память»

Примерами ВС с рассмотренной архитектурой могут служить Burroughs

Scientific Processor (BSP), Texas Reconfigurable Array Computer (TRAC).

Page 114: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

114

11.4. Структура процессорного элемента

В большинстве матричных SIMD-систем в качестве процессорных элементов

применяются простые RISC-процессоры с локальной памятью ограниченной

емкости.

Например, каждый ПЭ системы MasPar MP-1 состоит из четырехразрядного

процессора с памятью емкостью 64 Кбайт. В системе МРР используются

одноразрядные процессоры с памятью 1 кбит каждый, а в СМ-2 процессорный

элемент представляет собой одноразрядный процессор с 64 Кбит локальной

памяти. Благодаря простоте ПЭ массив может быть реализован в виде одной

сверхбольшой интегральной микросхемы (СБИС). Это позволяет сократить

число связей между микросхемами и, следовательно, габариты ВС. Так, одна

СБИС в системе СМ-2 содержит 16 процессоров (без блоков памяти), а в

системе MasPar MP-1 СБИС состоит из 32 процессоров (также без блоков

памяти). В системе МР-2 просматривается тенденция к применению более

сложных микросхем, в частности 32-разрядных процессоров с 256 Кбайт

памяти в каждом.

Неотъемлемыми компонентами ПЭ (рисунок 11.5.) в большинстве

вычислительных систем являются:

арифметико-логическое устройство (АЛУ);

регистры данных;

сетевой интерфейс (СИ), который может включать в свой состав регистры

пересылки данных;

номер процессора;

регистр флага разрешения маскирования (F);

локальная память.

Рисунок 11.5. Структура процессорного элемента

Процессорные элементы, управляемые командами, поступающими по

широковещательной шине из КМП, могут выбирать данные из своей локальной

Page 115: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

115

памяти и регистров, обрабатывать их в АЛУ и сохранять результаты в

регистрах и локальной памяти. ПЭ могут также обрабатывать те данные,

которые поступают по шине широковещательной рассылки из КМП. Кроме

того, каждый процессорный элемент вправе получать данные из других ПЭ и

отправлять их в другие ПЭ по сети соединений, используя для этого свой

сетевой интерфейс. В некоторых матричных системах, в частности в

MasParМР-1, элемент данных из ПЭ-источника можно передавать в ПЭ-

приемник непосредственно, в то время как в других, например в МРР, - данные

предварительно должны быть помещены в специальный регистр пересылки

данных, входящий в состав сетевого интерфейса. Пересылка данных между ПЭ

и устройствами ввода/вывода осуществляется через шину ввода/вывода ВС. В

ряде систем (MasParMP-1) ПЭ подключены к шине ввода/вывода посредством

сети соединений и канала ввода/вывода системы. Результаты вычислений

любое ПЭ выдает в КМП через шину результата.

Каждому из N ПЭ в массиве процессоров присваивается уникальный номер,

называемый также адресом ПЭ, который представляет собой целое число от 0

до N- 1. Чтобы указать, должен ли данный ПЭ участвовать в общей операции, в

его составе имеется регистр флага разрешения F. Состояние этого регистра

определяют сигналы управления из КМП, либо результаты операций в самом

ПЭ, либо и те и другие совместно.

Еще одной существенной характеристикой матричной системы является

способ синхронизации работы ПЭ. Так как все ПЭ получают и выполняют

команды одновременно, их работа жестко синхронизируется. Это особенно

важно в операциях пересылки информации между ПЭ. В системах, где обмен

производится с четырьмя соседними ПЭ, передача информации осуществляется

в режиме «регистр- регистр».

11.5. Подключение и отключение процессорных элементов

В процессе вычислений в ряде операций должны участвовать только

определенные ПЭ, в то время как остальные ПЭ остаются бездействующими.

Разрешение и запрет работы ПЭ могут исходить от контроллера массива

процессоров (глобальное маскирование) и реализуются с помощью схем

маскирования ПЭ. В этом случае решение о необходимости маскирования

принимается на этапе компиляции кода. Решение о маскировании может также

приниматься во время выполнения программы (маскирование, определяемое

данными), при этом опираются на хранящийся в ПЭ флаг разрешения

маскирования F.

При маскировании, определяемом данными, каждый ПЭ самостоятельно

объявляет свой статус «подключен/не подключен». В составе системы команд

имеются наборы маскируемых и немаскируемых команд. Маскируемые

команды выполняются в зависимости от состояния флага F, в то время как

немаскируемые флаг просто игнорируют. Процедуру маскирования рассмотрим

на примере предложения IF-THEN-ELSE, Пусть х - локальная переменная

Page 116: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

116

(хранящаяся в локальной памяти каждого ПЭ). Предположим, что

процессорные элементы массива параллельно выполняют, ветвление:

if(х > 0) then <оператор А> else <оператор В>

и каждый ПЭ оценивает условие IF. Т.е. ПЭ, для которых условие х > 0

справедливо, установят свой флаг F в единицу, тогда как остальные ПЭ - в

ноль. Далее КМП распределяет оператор А по всем ПЭ. Команды,

реализующие этот оператор, должны быть маскируемыми. Оператор А будет

выполнен только теми ПЭ, где флаг F установлен в единицу. Далее КМП

передает во все ПЭ немаскируемую команду ELSE, которая заставит все ПЭ

инвертировать состояние своего флага F. Затем КМП транслирует во все ПЭ

оператор В, который также должен состоять из маскируемых команд. Оператор

будет выполнен теми ПЭ, где флаг F после инвертирования был установлен в

единицу, то есть где результат проверки условия х > 0 был отрицательным.

При использовании схемы глобального маскирования контроллер массива

процессоров вместе с командами посылает во все ПЭ глобальную маску.

Каждый ПЭ декодирует эту маску и по результату выясняет, должен ли он

выполнять данную команду или нет. Глобальные и локальные схемы

маскирования могут комбинироваться. В таком случае активность ПЭ в равной

мере определяется как флагом F, так и глобальной маской.

11.6. Сети взаимосвязей процессорных элементов

Эффективность сетей взаимосвязей процессорных элементов во многом

определяет возможную производительность всей матричной системы.

Применение находят самые разнообразные топологии сетей.

Поскольку процессорные элементы в матричных системах функционируют

синхронно, обмениваться информацией они также должны по согласованной

схеме, причем необходимо обеспечить возможность синхронной передачи от

нескольких ПЭ-источников к одному ПЭ-приемнику. Когда для передачи

информации в сетевом интерфейсе задействуется только один регистр

пересылки данных, это может привести к потере данных, поэтому в ряде ВС

для предотвращения подобной ситуации предусмотрены специальные

механизмы. Так, в системе СМ-2 используется оборудование, объединяющее

сообщения, поступившие к одному ПЭ.

В некоторых SIMD-системах, например МР-1, имеется возможность записать

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

Хотя пересылки данных по сети инициируются только активными ПЭ,

пассивные процессорные элементы также вносят вклад в эти операции. Если

активный ПЭ инициирует чтение из другого ПЭ, операция выполняется вне

зависимости от статуса ПЭ, из которого считывается информация. То же самое

происходит и при записи.

Наиболее распространенными топологиями в матричных системах являются

решетчатые и гиперкубические. Так, в ILLIAC IV, МРР и СМ-2 каждый ПЭ

соединен с четырьмя соседними. В МР-1 и МР-2 каждый ПЭ связан с восьмью

смежными ПЭ. В ряде систем реализуются многоступенчатые динамические

сети соединений (МР-1, МР-2, GF11).

Page 117: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

117

Контрольные вопросы

1.Что лежит в основе матричных систем?

2.Из компонентов состоит обобщенная модель матричной ВС?

3.Каковы функции контроллера массива процессоров?

4.Назовите два основных типа архитектурной организации массива

процессорных элементов.

5.Опишите вид архитектуры "процессор-память".

6.Что используется в качестве процессорных элементов в большинстве

матричных SIMD-систем?

7.Что является неотъемлемым компонентом ПЭ в большинстве

вычислительных систем?

8.Что определяет возможную производительность всей матричной системы?

Page 118: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

118

Лекция 12

Тема 12 Типы памяти матричных вычислительных систем

12.1. Ассоциативная память

Обычно в запоминающих устройствах доступ к информации требует

указания адреса ячейки. Однако значительно удобнее искать информацию не по

адресу, а опираясь на какой-нибудь характерный признак, содержащийся в

самой информации. Такой принцип лежит в основе ЗУ, известного как

ассоциативное запоминающее устройство (АЗУ). В литературе встречаются и

иные названия подобного ЗУ: память, адресуемая по содержанию (content

addressable memory); память, адресуемая по данным (data addressable memory);

память с параллельным поиском (parallel search memory); каталоговая память

(catalog memory); информационное ЗУ (information storage); тегированная

память (tag memory).

Ассоциативное ЗУ – это устройство, способное хранить информацию,

сравнивать ее с некоторым заданным образцом и указывать на их соответствие

или несоответствие друг другу.

В отличие от обычной машинной памяти (памяти произвольного доступа или

RAM), в которой пользователь задает адрес памяти и ОЗУ возвращает слово

данных, хранящееся по этому адресу, АП разработана таким образом, чтобы

пользователь задавал слово данных, и АП ищет его во всей памяти, чтобы

выяснить, хранится ли оно где-нибудь в нем. Если слово данных найдено, АП

возвращает список одного или более адресов хранения, где слово было найдено

(и в некоторых архитектурах, также возвращает само слово данных, или другие

связанные части данных). Таким образом, АП - аппаратная реализация того, что

в терминах программирования назвали бы ассоциативным массивом.

Ассоциативный признак – признак, по которому производится поиск

информации.

Признак поиска – кодовая комбинация, выступающая в роли образца для

поиска.

Ассоциативный признак может быть частью искомой информации или

дополнительно придаваться ей. В последнем случае его принято называть тегом

или ярлыком.

Рисунок 12.1. Структура ассоциативного ЗУ

Page 119: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

119

АЗУ включает в себя (Рисунок 12.1.):

запоминающий массив для хранения N m-разрядных слов, в каждом из

которых несколько младших разрядов занимает служебная информация;

регистр ассоциативного признака, куда помещается код искомой

информации (признак поиска). Разрядность регистра k обычно меньше длины

слова т;

схемы совпадения, используемые для параллельного сравнения каждого

бита всех хранимых слов с соответствующим битом признака поиска и

выработки сигналов совпадения;

регистр совпадений, где каждой ячейке запоминающего массива

соответствует один разряд, в который заносится единица, если все разряды

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

регистр маски, позволяющий запретить сравнение определенных битов;

комбинационную схему, которая на основании анализа содержимого

регистра совпадений формирует сигналы, характеризующие результаты поиска

информации.

При обращении к АЗУ сначала в регистре маски обнуляются разряды,

которые не должны учитываться при поиске информации. Все разряды

регистра совпадений устанавливаются в единичное состояние. После этого в

регистр ассоциативного признака заносится код искомой информации (признак

поиска) и начинается ее поиск, в процессе которого схемы совпадения

одновременно сравнивают первый бит всех ячеек запоминающего массива с

первым битом признака поиска. Те схемы, которые зафиксировали

несовпадение, формируют сигнал, переводящий соответствующий бит регистра

совпадений в нулевое состояние. Так же происходит процесс поиска и для

остальных незамаскированных битов признака поиска. В итоге единицы

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

ячейкам, где находится искомая информация. Конфигурация единиц в регистре

совпадений используется в качестве адресов, по которым производится

считывание из запоминающего массива. Из-за того что результаты поиска

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

на комбинационную схему, где формируются сигналы, извещающие о том, что

искомая информация:

а0 – не найдена;

а1 – содержится в одной ячейке;

а2 – содержится более чем в одной ячейке.

Формирование содержимого регистра совпадений и сигналов a0, a1, а2 носит

название операции контроля ассоциации. Она является составной частью

операций считывания и записи, хотя может иметь и самостоятельное значение.

При считывании сначала производится контроль ассоциации по аргументу

поиска. Затем, при а0=1 считывание отменяется из-за отсутствия искомой

Page 120: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

120

информации, приa1=1считывается слово, на которое указывает единица в

регистре совпадений, а при а2=1сбрасывается самая старшая единица в

регистре совпадений и извлекается соответствующее ей слово. Повторяя эту

операцию, можно последовательно считать все слова.

Запись в АП производится без указания конкретного адреса, в первую

свободную ячейку. Для отыскания свободной ячейки выполняется операция

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

показывающие, как давно производилось обращение к данной ячейке, и

свободной считается либо пустая ячейка, либо та, которая дольше всего не

использовалась.

Главное преимущество ассоциативных ЗУ определяется тем, что время

поиска информации зависит только от числа разрядов в признаке поиска и

скорости опроса разрядов и не зависит от числа ячеек в запоминающем

массиве.

Общность идеи ассоциативного поиска информации отнюдь не исключает

разнообразия архитектур АЗУ. Конкретная архитектура определяется

сочетанием четырех факторов:

1. вида поиска информации;

2. техники сравнения признаков;

3. способа считывания информации при множественных совпадениях;

4. способа записи информации.

В каждом конкретном применении АЗУ задача поиска информации может

формулироваться по-разному.

Виды поиска информации:

Простой (требуется полное совпадение всех разрядов признака поиска с

одноименными разрядами слов, хранящихся в запоминающем массиве).

Сложный:

o Поиск всех слов, больших или меньших заданного. Поиск слов в

заданных пределах.

o Поиск максимума или минимума.

Многократное выборка из АЗУ слова с максимальным или минимальным

значением ассоциативного признака (с исключением его из дальнейшего

поиска), по существу, представляет собой упорядоченную выборку

информации. Упорядоченную выборку можно обеспечить и другим способом,

если вести поиск слов, ассоциативный признак которых по отношению к

признаку опроса является ближайшим большим или меньшим значением.

Очевидно, что реализация сложных методов поиска связана с

соответствующими изменениями в архитектуре АЗУ, в частности с

усложнением схемы ЗУ и введением в нее дополнительной логики.

Page 121: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

121

Техника сравнения признаков:

При построении АЗУ выбирают из четырех вариантов организации опроса

содержимого памяти. Варианты эти могут комбинироваться параллельно по

группе разрядов и последовательно по группам. В плане времени поиска

наиболее эффективным можно считать параллельный опрос как по словам, так

и по разрядам, но не все виды запоминающих элементов допускают такую

возможность.

Способ считывания информации при множественных совпадениях:

С цепью очередности (с помощью достаточно сложного устройства, где

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

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

АЗУ независимо от величины ассоциативных признаков).

Алгоритмически (в результате серии опросов).

Способ записи информации:

1. По адресу.

2. C сортировкой информации на входе АЗУ по величине ассоциативного

признака (местоположение ячейки, куда будет помещено новое слово, зависит

от соотношения ассоциативных признаков вновь записываемого слова и уже

хранящихся в АЗУ слов).

3. По совпадению признаков.

4. С цепью очередности.

Из-за относительно высокой стоимости АЗУ редко используется как

самостоятельный вид памяти.

12.2. Ассоциативные ВС

Ассоциативный процессор (АП) – это ассоциативная память, допускающая

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

совпадение с ассоциативным признаком. Эта особенность АП, носящая

название мультизаписи, является первым отличием ассоциативного процессора

от традиционной ассоциативной памяти. Считывание и запись информации

могут производиться по двум срезам запоминающего массива — либо это все

разряды одного слова, либо один и тот же разряд всех слов. При необходимости

выделения отдельных разрядов среза лишние позиции допустимо маскировать.

Каждый разряд среза в АП снабжен собственным процессорным элементом,

что позволяет между считыванием информации и ее записью производить

необходимую обработку, то есть параллельно выполнять операции

арифметического сложения, поиска, а также эмулировать многие черты

матричных ВС.

Ассоциативные ВС – ВС класса SIMD, в основе которой лежит

ассоциативный процессор. Таким образом, ассоциативные ВС представляют

Page 122: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

122

собой n процессорных элементов ПЭ (вертикальный разрядный срез памяти),

как правило, последовательной поразрядной обработки для каждой из ячеек

памяти. Операция осуществляется одновременно всеми nПЭ. Все или часть

элементарных последовательных ПЭ могут синхронно выполнять операции над

всеми ячейками или над выбранным множеством слов ассоциативной памяти.

Пример ассоциативной ВС – система STARAN, разработанная Goodyear

Aerospace Corporation в 1972 году.

12.3. Систолические структуры

В фон-неймановских машинах данные, считанные из памяти, однократно

обрабатываются в процессорном элементе, после чего снова возвращаются в

память. В систолических структурах данные на своем пути, от считывания из

памяти до возвращения обратно, пропускаются через как можно большее

число ПЭ.

Если провести параллель в физиологии, то систолы больше всего

напоминают систему сосудов и сердце, которое постоянно посылает кровь во

все артерии, сосуды и капилляры тела.

Систолические системы являются очень специализированными

вычислителями и производятся в основном под конкретную задачу.

Фактически, задача построения систолического вычислителя сводится к

построению аппаратного конвейера, имеющего достаточно большое время

получения результата (т.е. большое количество ступеней) но при этом

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

так как значительное количество промежуточных значений обрабатывается на

разных ступенях конвейера.

Рассмотрим в качестве примера систолическую структуру, выполняющую

процесс векторного умножения матриц (Рисунок 12.3.). В основе схемы лежит

ритмическое прохождение двух потоков данных xiи уj навстречу друг другу.

Последовательные элементы каждого потока разделены одним тактовым

периодом, чтобы любой из них мог встретиться с любым элементом встречного

потока. Вычисления выполняются параллельно в процессорных элементах,

каждый из которых реализует один шаг в операции вычисления скалярного

произведения (IPS, Inner Product Step) и носит название IPS-элемента (Рисунок

12.2.).

Значение увх, поступающее на вход ПЭ, суммируется с произведением

входных значений xвх и авх. Результат выходит из ПЭ как увых. 3начение хвх,

кроме того, для возможного последующего использования остальной частью

массива транслируется через ПЭ без изменений и покидает его в виде xвых.

Page 123: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

123

Рисунок 12.2. Функциональная схема IPS-элемента

Рисунок 12.3. Процесс векторного умножения матриц

Систолическая структура — это однородная вычислительная среда из

процессорных элементов, совмещающая в себе свойства конвейерной и

матричной обработки и обладающая следующими особенностями:

вычислительный процесс в систолических структурах представляет собой

непрерывную и регулярную передачу данных от одного ПЭ к другому без

запоминания промежуточных результатов вычисления;

каждый элемент входных данных выбирается из памяти однократно и

используется столько раз, сколько необходимо по алгоритму, ввод данных

осуществляется в крайние ПЭ матрицы;

Page 124: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

124

образующие систолическую структуру ПЭ однотипны и каждый из них

может быть менее универсальным, чем процессоры обычных

многопроцессорных систем;

потоки данных и управляющих сигналов обладают регулярностью, что

позволяет объединять ПЭ локальными связями минимальной длины;

алгоритмы функционирования позволяют совместить параллелизм с

конвейерной обработкой данных;

Производительность матрицы можно улучшить за счет добавления в нее

определенного числа ПЭ, причем коэффициент повышения

производительности при этом линеен.

В настоящее время достигнута производительность систолических

процессоров порядка 1000 млрд операций/с.

Классификация систолических структур

Анализ различных типов систолических структур и тенденций их развития

позволяет классифицировать эти структуры по нескольким признакам.

По степени гибкости систолические структуры могут быть сгруппированы

на:

специализированные;

алгоритмически ориентированные;

программируемые.

Специализированные структуры ориентированы на выполнение

определенного алгоритма. Эта ориентация отражается не только в конкретной

геометрии систолической структуры, статичности связей между ПЭ и числе

ПЭ, но и в выборе типа операции, выполняемой всеми ПЭ. Примерами

являются структуры, ориентированные на рекурсивную фильтрацию, быстрое

преобразование Фурье для заданного количества точек, конкретные матричные

преобразования.

Алгоритмически ориентированные структуры обладают возможностью

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

самих ПЭ. Возможность программирования позволяет выполнять на таких

структурах некоторое множество алгоритмов, сводимых к однотипным

операциям над векторами, матрицами и другими числовыми множествами.

В программируемых систолических структурах имеется возможность

программирования как самих ПЭ, так и конфигурации связей между ними. При

этом ПЭ могут обладать локальной памятью программ, и хотя все они имеют

одну и ту же организацию, в один и тот же момент времени допускается

выполнение различных операций из некоторого набора. Команды или

управляющие слова, хранящиеся в памяти программ таких ПЭ, могут изменять

и направление передачи операндов.

По разрядности процессорных элементов систолические структуры делятся

одноразрядные;

Page 125: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

125

многоразрядные.

В одноразрядных матрицах ПЭ в каждый момент времени выполняет

операцию над одним двоичным разрядом; а в многоразрядных — над словами

фиксированной длины.

По характеру локально-пространственных связей систолические структуры

бывают:

одномерные;

двухмерные;

трехмерные.

Выбор структуры зависит от вида обрабатываемой информации.

Одномерные схемы применяются при обработке векторов, двухмерные -

матриц, трехмерные - множеств иного типа.

Систолические структуры могут различаться по топологии связей между ПЭ

линейные,

квадратные,

гексагональные,

трехмерные и др.

Каждая конфигурация матрицы наиболее приспособлена для выполнения

определенных функций, например линейная матрица оптимальна для

реализации фильтров в реальном масштабе времени; гексагональная — для

выполнения операций обращения матриц, а также действий над матрицами

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

дифференциальных уравнений в частных производных. Наиболее

универсальными и наиболее распространенными, тем не менее, можно считать

матрицы с линейной структурой.

Контрольные вопросы

1.Что такое ассоциативное запоминающее устройство?

2.Что включает в себя ассоциативное запоминающее устройство?

3.Какие факторы определяют конкретную архитектуру?

4.Что такое ассоциативный процессор?

5.Что такое систолические структуры?

6.Что такое IPS-элемент?

7.Приведите классификацию систолических структур.

8.Какие существуют способы считывания информации при множественных

совпадениях?

Page 126: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

126

Лекция 13.

Тема 13. Кластерные и MPP-системы

Одно из самых современных направлений в области создания

вычислительных систем — это кластеризация.По производительности и

коэффициенту готовности кластеризация представляет собой альтернативу

симметричным мультипроцессорным системам.

Кластер – группа взаимно соединенных вычислительных систем (узлов),

работающих совместно, составляющих единый вычислительный ресурс и

создавая у пользователя иллюзию наличия единственной ВМ.

В качестве узла кластера может выступать как однопроцессорная ВМ, так и

ВС типа SMP или МРР. Важно лишь то, что каждый узел в состоянии

функционировать самостоятельно и отдельно от кластера. В плане архитектуры

суть кластерных вычислений сводится к объединению нескольких узлов

высокоскоростной сетью. Для описания такого подхода, помимо термина

«кластерные вычисления», достаточно часто применяют такие названия,

как: кластер рабочих станций (workstation cluster),

гипервычисления (hypercomputing), параллельные вычисления на базе

сети (network-based concurrent computing), ультравычисления (ultracomputing).

Изначально перед кластерами ставились две задачи: достичь большой

вычислительной мощности и обеспечить повышенную надежность ВС.

Пионером в области кластерных архитектур считается корпорация DEC,

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

В качестве узлов кластеров могут использоваться как одинаковые ВС

(гомогенные кластеры), так и разные (гетерогенные кластеры). По своей

архитектуре кластерная ВС является слабо связанной системой.

Преимущества кластеризации

Абсолютная масштабируемость. Возможно создание больших кластеров,

превосходящих по вычислительной мощности даже самые производительные

одиночные ВМ. Кластер в состоянии содержать десятки узлов, каждый из

которых представляет собой мультипроцессор.

Наращиваемая масштабируемость. Кластер строится так, что его можно

наращивать, добавляя новые узлы небольшими порциями. Таким образом,

пользователь может начать с умеренной системы, расширяя ее по мере

необходимости.

Высокий коэффициент готовности. Поскольку каждый узел кластера —

самостоятельная ВМ или ВС, отказ одного из узлов не приводит к потере

работоспособности кластера. Во многих системах отказоустойчивость

автоматически поддерживается программным обеспечением.

Превосходное соотношение цена/производительность. Кластер любой

производительности можно создать, соединяя стандартные «строительные

Page 127: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

127

блоки», при этом его стоимость будет ниже, чем у одиночной ВМ с

эквивалентной вычислительной мощностью.

На уровне аппаратного обеспечения кластер — это просто совокупность

независимых вычислительных систем, объединенных сетью. При соединении

машин в кластер почти всегда поддерживаются прямые межмашинные связи.

Решения могут быть простыми, основывающимися на аппаратуре Ethernet, или

сложными с высокоскоростными сетями с пропускной способностью в сотни

мегабайтов в секунду. К последней категории относятся RS/6000 SP компании

IBM, системы фирмы Digital на основе Memory Channel, ServerNet корпорации

Compaq.

Неотъемлемая часть кластера — специализированное программное

обеспечение (ПО), на которое возлагается задача обеспечения бесперебойной

работы при отказе одного или нескольких узлов. Такое ПО производит

перераспределение вычислительной нагрузки при отказе одного или

нескольких узлов кластера, а также восстановление вычислений при сбое в

узле. Кроме того, при наличии в кластере совместно используемых дисков

кластерное ПО поддерживает единую файловую систему.

Обычно различают следующие основные виды кластеров:

отказоустойчивые кластеры (High-availability clusters, HA)

кластеры с балансировкой нагрузки (Load balancing clusters)

высокопроизводительные кластеры (High-performance clusters, HPC)

grid-системы

Кластеры высокой доступности

Обозначаются аббревиатурой HA (англ. High Availability — высокая

доступность). Создаются для обеспечения высокой доступности сервиса,

предоставляемого кластером. Избыточное число узлов, входящих в кластер,

гарантирует предоставление сервиса в случае отказа одного или нескольких

серверов. Типичное число узлов — два, это минимальное количество,

приводящее к повышению доступности. Создано множество программных

решений для построения такого рода кластеров. В частности, для GNU/Linux,

FreeBSD и Solaris существует проект бесплатного ПО Linux-HA.

Кластеры распределения нагрузки

Принцип их действия строится на распределении запросов через один или

несколько входных узлов, которые перенаправляют их на обработку в

остальные, вычислительные узлы. Первоначальная цель такого кластера —

производительность, однако, в них часто используются также и методы,

повышающие надежность. Подобные конструкции называются серверными

фермами. Программное обеспечение (ПО) может быть как коммерческим

(OpenVMS Cluster, Platform LSF HPC, Sun Grid Engine, Moab Cluster Suite, Maui

Cluster Scheduler), так и бесплатным (Linux Virtual Server, Mosix).

Page 128: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

128

Кластеры повышенной производительности

Обозначаются англ. аббревиатурой HPC (High performance cluster).

Позволяют увеличить скорость расчетов, разбивая задание на параллельно

выполняющиеся потоки. Используются в научных исследованиях. Одна из

типичных конфигураций — набор серверов с установленной на них

операционной системой Linux, такую схему принято называть кластером

Beowulf. Для HPC создается специальное ПО, способное эффективно

распределять задачу между узлами.

Эффективные связи между серверами в кластере позволяют им поддерживать

связь и оперативно обмениваться данными, поэтому такие кластеры хорошо

приспособлены для выполнения процессов, использующих общие данные.

Системы распределенных вычислений (grid)

Такие системы не принято считать кластерами, но их принципы в

значительной степени сходны с кластерной технологией. Их также называют

grid-системами. Главное отличие — низкая доступность каждого узла, то есть

невозможность гарантировать его работу в заданный момент времени (узлы

подключаются и отключаются в процессе работы), поэтому задача должна быть

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

от кластеров, не похожа на единый компьютер, а служит упрощенным

средством распределения вычислений. Нестабильность конфигурации, в таком

случае, компенсируется большим числом узлов.

Самые производительные

В настоящее время в списке Top 500 самых высокопроизводительных систем

кластеры составляют более 80% (417 позиций). На второй позиции списка

Вычислительные машины (системы) в кластере взаимодействуют в

соответствии с одним их двух транспортных протоколов. Первый из них,

протокол TCP (Transmission Control Protocol), оперирует потоками байтов,

гарантируя надежность доставки сообщения. Второй — UDP

(UserDatagramProtocol) пытается посылать пакеты данных без гарантии их

доставки, В последнее время применяют специальные протоколы, которые

работают намного лучше. Так, возглавляемый компанией Intelконсорциум

(Microsoft, Compaqи др.) предложил новый протокол для внутрикластерных

коммуникаций, который называется VirtualInterfaceArchitecture (VIA) и

претендует на роль стандарта.

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

сообщений и распределенной совместно используемой памяти. Первый

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

кластера. В альтернативном варианте также происходит пересылка сообщений,

но движение данных между узлами кластера скрыто от программиста.

Кластеры обеспечивают высокий уровень доступности — в них отсутствуют

единая операционная система и совместно используемая память, то есть нет

проблемы когерентности кэшей. Кроме того, специальное программное

обеспечение в каждом узле постоянно контролирует работоспособность всех

Page 129: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

129

остальных узлов. Если сигнал от некоторого узла не поступает, то такой узел

считается вышедшим из строя; ему не дается возможность выполнять

ввод/вывод, его диски и другие ресурсы (включая сетевые адреса)

переназначаются другим узлам, а выполнявшиеся им программы

перезапускаются в других узлах.

Кластеры хорошо масштабируются в плане производительности при

добавлении узлов. В кластере может выполняться несколько отдельных

приложений, но для масштабирования отдельного приложения требуется,

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

Нельзя, однако, не учитывать, что взаимодействия между узлами кластера

занимают гораздо больше времени, чем в традиционных ВС.

13.1. Топологии кластеров

При создании кластеров с большим количеством узлов могут применяться

самые разнообразные топологии (линейные, кольцевые, древовидные,

звездообразные и пр.). Рассмотрим топологии, характерные для наиболее

распространенных «малых» кластеров, состоящих из 2-4 узлов.

Топология кластерных пар

Топология кластерных пар находит применение при организации двух- или

четырехузловых кластеров.

Рисунок 13.1. Топология кластерных пар

Узлы группируются попарно (Рисунок 13.1.). Дисковые массивы

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

всем дисковым массивам своей пары. Один из узлов является резервным для

другого.

Четырехузловая кластерная «пара» представляет собой простое расширение

двухузловой топологии. Обе кластерные пары с точки зрения

администрирования и настройки рассматриваются как единое целое.

Эта топология подходит для организации кластеров с высокой готовностью

данных, но отказоустойчивость реализуется только в пределах пары, так как

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

соединения с другой парой.

Page 130: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

130

Пример: организация параллельной работы СУБД Informix XPS.

Топология N+1

Топология N+ 1 позволяет создавать кластеры из 2,3 и 4 узлов.

Рисунок 13.2. Топология N+1

Каждый дисковый массив подключаются только к двум узлам кластера

(Рисунок 13.2.). Дисковые массивы организованы по схеме RAID 1. Один

сервер имеет соединение со всеми дисковыми массивами и служит в качестве

резервного для всех остальных (основных или активных) узлов. Резервный

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

паре с любым из активных узлов.

Топология рекомендуется для организации кластеров высокой готовности. В

тех конфигурациях, где имеется возможность выделить один узел для

резервирования, эта топология способствует уменьшению нагрузки на

активные узлы и гарантирует, что нагрузка вышедшего из строя узла будет

воспроизведена на резервном узле без потери производительности.

Отказоустойчивость обеспечивается между любым из основных узлов и

резервным узлом

Топология N x N

Аналогично топологии N+ 1, топология NxN рассчитана на создание

кластеров из 2, 3 и 4 узлов, но в отличие от первой обладает большей

гибкостью и масштабируемостью.

Page 131: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

131

Рисунок 13.3. Топология NxN

Только в этой топологии все узлы кластера имеют доступ ко всем дисковым

массивам, которые, в свою очередь, строятся по схеме RAID 1 (с

дублированием). Масштабируемость проявляется в простоте добавления к

кластеру дополнительных узлов и дисковых массивов без изменения

соединений в существующей системе (Рисунок 13.3.).

Топология позволяет организовать каскадную систему отказоустойчивости,

при которой обработка переносится с неисправного узла на резервный, а в

случае его выхода из строя — на следующий резервный узел и т. д. Кластеры с

топологией N x N обеспечивают поддержку приложения Oracle Parallel Server,

требующего соединения всех узлов со всеми системами хранения информации.

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

по сравнению с другими решениями.

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

В топологии с полностью раздельным доступом каждый дисковый массив

соединяется только с одним узлом кластера.

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

Page 132: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

132

Топология рекомендуется только для тех приложений, для которых

характерна архитектура полностью раздельного доступа, например для уже

упоминавшейся СУБД Informix XPS (Рисунок 13.4.).

13.2. Системы с массовым параллелизмом (MPP-системы)

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

к архитектуре с массовой параллельной обработкой (МРР, Massively Parallel

Processing), служит количество процессоров n. Строгой границы не существует,

но обычно при n >=128 считается, что это уже МРР, а при n<=32 — еще нет.

Обобщенная структура МРР-системы показана на рисунке 13.5.

Рисунок 13.5. Схематический вид архитектуры MPP-системы

MPP – массивно-параллельная архитектура. Главная особенность такой

архитектуры состоит в том, что память физически разделена. В этом случае

система строится из отдельных модулей, содержащих процессор, локальный

банк операционной памяти (ОП),коммуникационные процессоры (роутеры)

или сетевые адаптеры, иногда – жесткие диски и/или другие устройства

ввода/вывода. По сути, такие модули представляют собой

полнофункциональные компьютеры. Доступ к банку ОП из данного модуля

имеют только процессоры (ЦП) из этого же модуля. Модули соединяются

специальными коммуникационными каналами. Пользователь может определить

логический номер процессора, к которому он подключен, и организовать обмен

сообщениями с другими процессорами.

Используются два варианта работы операционной системы (ОС) на машинах

MPP-архитектуры. В одном полноценная операционная система (ОС) работает

только на управляющей машине (front-end), на каждом отдельном модуле

функционирует сильно урезанный вариант ОС, обеспечивающий работу только

расположенной в нем ветви параллельного приложения. Во втором варианте на

каждом модуле работает полноценная UNIX-подобная ОС, устанавливаемая

отдельно.

Главные особенности, по которым вычислительную систему причисляют к

классу МРР, можно сформулировать следующим образом:

стандартные микропроцессоры;

физически распределенная память;

Page 133: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

133

сеть соединений с высокой пропускной способностью и малыми

задержками;

хорошая масштабируемость (до тысяч процессоров);

асинхронная MIMD-система с пересылкой сообщений;

программа представляет собой множество процессов, имеющих

отдельные адресные пространства.

Главным преимуществом систем с раздельной памятью является хорошая

масштабируемость: в отличие от SMP-систем, в машинах с раздельной

памятью каждый процессор имеет доступ только к своей локальной памяти, в

связи с чем не возникает необходимости в потактовой синхронизации

процессоров. Практически все рекорды по производительности на сегодня

устанавливаются на машинах именно такой архитектуры, состоящих из

нескольких тысяч процессоров (TOP 500).

Недостатки:

отсутствие общей памяти заметно снижает скорость межпроцессорного

обмена, поскольку нет общей среды для хранения данных, предназначенных

для обмена между процессорами. Требуется специальная техника

программирования для реализации обмена сообщениями между процессорами;

каждый процессор может использовать только ограниченный объем

локального банка памяти;

вследствие указанных архитектурных недостатков требуются

значительные усилия для того, чтобы максимально использовать системные

ресурсы. Именно этим определяется высокая цена программного обеспечения

для массивно-параллельныхсистем с раздельной памятью.

Системами с раздельной памятью являются суперкомпьютеры МВС-1000,

IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы

Parsytec.

Машины последней серии CRAY T3E от SGI, основанные на базе

процессоров Dec Alpha 21164 с пиковой производительностью 1200 Мфлопс/с

(CRAY T3E-1200), способны масштабироваться до 2048 процессоров.

При работе с MPP-системами используют так называемую Massive Passing

Programming Paradigm – парадигму программирования с передачей данных

(MPI, PVM, BSPlib).

Основные причины появления систем с массовой параллельной обработкой

— это, во-первых, необходимость построения ВС с гигантской

производительностью и, во-вторых, стремление раздвинуть границы

производства ВС в большом диапазоне, как производительности, так и

стоимости. Для МРР-системы, в которой количество процессоров может

меняться в широких пределах, всегда реально подобрать конфигурацию с

заранее заданной вычислительной мощностью и финансовыми вложениями.

Если говорить о МРР как о представителе класса MIMD с распределенной

памятью и отвлечься от организации ввода/вывода, то эта архитектура является

Page 134: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

134

естественным расширением кластерной на большое число узлов. Отсюда для

МРР-систем характерны все преимущества и недостатки кластеров, причем в

связи с повышенным числом процессорных узлов как плюсы, так и минусы

становятся гораздо весомее.

Характерная черта МРР-систем – наличие единственного управляющего

устройства (процессора), распределяющего задания между множеством

подчиненных ему устройств, чаще всего одинаковых (взаимозаменяемых),

принадлежащих одному или нескольким классам. Схема взаимодействия в

общих чертах довольно проста:

центральное управляющее устройство формирует очередь заданий,

каждому из которых назначается некоторый уровень приоритета;

по мере освобождения подчиненных устройств им передаются задания из

очереди;

подчиненные устройства оповещают центральный процессор о ходе

выполнения задания, в частности о завершении выполнения или о потребности

в дополнительных ресурсах;

у центрального устройства имеются средства для контроля работы

подчиненных процессоров, в том числе для обнаружения нештатных ситуаций,

прерывания выполнения задания в случае появления более приоритетной

задачи и т. п.

В некотором приближении имеет смысл считать, что на центральном

процессоре выполняется ядро операционной системы (планировщик заданий), а

на подчиненных ему — приложения. Подчиненность между процессорами

может быть реализована как на аппаратном, так и на программном уровне.

Вовсе не обязательно, чтобы МРР-система имела распределенную

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

локальной памятью. Так, например, системы SPP1000/XA и SPP1200/XA

являют собой пример ВС с массовым параллелизмом, память которых

физически распределена между узлами, но логически она общая для всей

вычислительной системы. Тем не менее большинство МРР-систем имеют как

логически, так и физически распределенную память.

Проблемы MPP-систем:

Приращение производительности с ростом числа процессоров обычно

вообще довольно быстро убывает (по закону Амдала).

Достаточно трудно найти задачи, которые сумели бы эффективно

загрузить множество процессорных узлов. Проблема переносимости программ

между системами с различной архитектурой.

Эффективность распараллеливания во многих случаях сильно зависит от

деталей архитектуры МРР-системы, например топологии соединения

процессорных узлов.

Page 135: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

135

Самой эффективной была бы топология, в которой любой узел мог бы

напрямую связаться с любым другим узлом, но в ВС на основе МРР это

технически трудно реализуемо. Как правило, процессорные узлы в

современных МРР-компьютерах образуют или двухмерную решетку

(например, в SNI/Pyramid RM1000) или гиперкуб (как в суперкомпьютерах

nCube). Поскольку для синхронизации параллельно выполняющихся процессов

необходим обмен сообщениями, которые должны доходить из любого узла

системы в любой другой узел, важной характеристикой является диаметр

системы D. В случае двухмерной решетки D - sqrt(n), в случае гиперкуба D -

ln(n). Таким образом, при увеличении числа узлов более выгодна архитектура

гиперкуба. Время передачи информации от узла к узлу зависит от стартовой

задержки и скорости передачи. В любом случае, за время передачи

процессорные узлы успевают выполнить много команд, и это соотношение

быстродействия процессорных узлов и передающей системы, вероятно, будет

сохраняться — прогресс в производительности процессоров гораздо весомее,

чем в пропускной способности каналов связи. Поэтому инфраструктура

каналов связи в МРР-системах является объектом наиболее пристального

внимания разработчиков. Слабым местом МРР было и есть центральное

управляющее устройство (ЦУУ) - при выходе его из строя вся система

оказывается неработоспособной. Повышение надежности ЦУУ лежит на путях

упрощения аппаратуры ЦУУ и/или ее дублирования. Несмотря на все

сложности, сфера применения ВС с массовым параллелизмом постоянно

расширяется. Различные системы этого класса эксплуатируются во многих

ведущих суперкомпьютерных центрах мира. Следует особенно отметить

компьютеры Cray T3D и Cray T3E, которые иллюстрируют тот факт, что

мировой лидер производства векторных суперЭВМ, компания Cray Research,

уже не ори-ентируется исключительно на векторные системы. Наконец, нельзя

не вспомнить, что суперкомпьютерный проект министерства энергетики США

основан на МРР-системе на базе Pentium.

Контрольные вопросы

1.Что такое кластер?

2.Каковы преимущества кластеризации?

3.Какие существуют виды кластеров?

4.Какие существуют топологии кластеров?

5.По какому признаку вычислительную систему относят к архитектуре с

массовой параллельной обработкой?

6.Что такое МРР?

7.Каково основное преимущество систем с раздельной памятью?

8.Каковы недостатки систем с раздельной памятью?

Page 136: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

136

Лекция 14.

Тема 14. Обзор и архитектура вычислительных сетей

14.1. Основные определения и термины

Сеть – это совокупность объектов, образуемых устройствами передачи и

обработки данных. Международная организация по стандартизации определила

вычислительную сеть как последовательную бит-ориентированную передачу

информации между связанными друг с другом независимыми устройствами.

Сети обычно находится в частном ведении пользователя и занимают

некоторую территорию и по территориальному признаку разделяются на:

Локальные вычислительные сети (ЛВС) или Local Area Network (LAN),

расположенные в одном или нескольких близко расположенных зданиях. ЛВС

обычно размещаются в рамках какой-либо организации (корпорации,

учреждения), поэтому их называют корпоративными.

Распределенные компьютерные сети, глобальные или Wide Area Network

(WAN), расположенные в разных зданиях, городах и странах, которые бывают

территориальными, смешанными и глобальными. В зависимости от этого

глобальные сети бывают четырех основных видов: городские, региональные,

национальные и транснациональные. В качестве примеров распределенных

сетей очень большого масштаба можно назвать: Internet, EUNET, Relcom, FIDO.

В состав сети в общем случае включается следующие элементы:

сетевые компьютеры (оснащенные сетевым адаптером);

каналы связи (кабельные, спутниковые, телефонные, цифровые,

волоконно-оптические, радиоканалы и др.);

различного рода преобразователи сигналов;

сетевое оборудование.

Различают два понятия сети: коммуникационная сеть и информационная

сеть.

Коммуникационная сеть предназначена для передачи данных, также она

выполняет задачи, связанные с преобразованием данных (Рисунок 14.1.).

Коммуникационные сети различаются по типу используемых физических

средств соединения.

Информационная сеть предназначена для хранения информации и состоит из

информационных систем. На базе коммуникационной сети может быть

построена группа информационных сетей:

Под информационной системой следует понимать систему, которая является

поставщиком или потребителем информации.

Page 137: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

137

Информационная сеть №1

Коммуникационная

сеть

Информацинная

система №1

Информацинная

система №n

Информационная сеть №2

Информацинная

система №1

Информацинная

система №n

Рисунок 14.1. Информационные и коммуникационные сети

Компьютерная сеть состоит из информационных систем и каналов связи.

Под информационной системой следует понимать объект, способный

осуществлять хранение, обработку или передачу информация. В состав

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

другие составляющие, предназначенные для процесса обработки и передачи

данных. В дальнейшем информационная система, предназначенная для

решения задач пользователя, будет называться – рабочая станция (client).

Рабочая станция в сети отличается от обычного персонального компьютера

(ПК) наличием сетевой карты (сетевого адаптера), канала для передачи данных

и сетевого программного обеспечения.

Под каналом связи следует понимать путь или средство, по которому

передаются сигналы. Средство передачи сигналов называют абонентским, или

физическим, каналом.

Каналы связи (data link) создаются по линиям связи при помощи сетевого

оборудования и физических средств связи. Физические средства связи

построены на основе витых пар, коаксиальных кабелей, оптических каналов

или эфира. Между взаимодействующими информационными системами через

физические каналы коммуникационной сети и узлы коммутации

устанавливаются логические каналы.

Логический канал – это путь для передачи данных от одной системы к

другой. Логический канал прокладывается по маршруту в одном или

нескольких физических каналах. Логический канал можно охарактеризовать,

как маршрут, проложенный через физические каналы и узлы коммутации.

Информация в сети передается блоками данных по процедурам обмена

между объектами. Эти процедуры называют протоколами передачи данных.

Протокол – это совокупность правил, устанавливающих формат и

процедуры обмена информацией между двумя или несколькими устройствами.

Загрузка сети характеризуется параметром, называемым трафиком. Трафик

(traffic) – это поток сообщений в сети передачи данных. Под ним понимают

количественное измерение в выбранных точках сети числа проходящих блоков

данных и их длины, выраженное в битах в секунду.

Page 138: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

138

Существенное влияние на характеристику сети оказывает метод доступа.

Метод доступа – это способ определения того, какая из рабочих станций

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

каналу связи (кабелю).

В сети все рабочие станции физически соединены между собою каналами

связи по определенной структуре, называемой топологией. Топология – это

описание физических соединений в сети, указывающее какие рабочие станции

могут связываться между собой. Тип топологии определяет

производительность, работоспособность и надежность эксплуатации рабочих

станций, а также время обращения к файловому серверу. В зависимости от

топологии сети используется тот или иной метод доступа.

Состав основных элементов в сети зависит от ее архитектуры. Архитектура

– это концепция, определяющая взаимосвязь, структуру и функции

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

функциональную и физическую организацию технических и программных

средств сети. Архитектура определяет принципы построения и

функционирования аппаратного и программного обеспечения элементов сети.

В основном выделяют три вида архитектур: архитектура терминал – главный

компьютер, архитектура клиент – сервер и одноранговая архитектура.

Современные сети можно классифицировать по различным признакам: по

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

услуг, принципам управления (централизованные и децентрализованные),

методам коммутации, методам доступа, видам среды передачи, скоростям

передачи данных и т. д. Все эти понятия будут рассмотрены более подробно

при дальнейшем изучении курса.

14.2. Преимущества использования сетей

Компьютерные сети представляют собой вариант сотрудничества людей и

компьютеров, обеспечивающего ускорение доставки и обработки информации.

Объединять компьютеры в сети начали более 30 лет назад. Когда возможности

компьютеров выросли и ПК стали доступны каждому, развитие сетей

значительно ускорилось.

Соединенные в сеть компьютеры обмениваются информацией и совместно

используют периферийное оборудование (Рисунок 14.2.) и устройства хранения

информации.

Сетевой

Сервер

принтер плотерСетевой

Клиент №1 Клиент №2 Клиент №7

Рисунок 14.2. Использование периферийного оборудования

Page 139: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

139

С помощью сетей можно разделять ресурсы и информацию. Ниже

перечислены основные задачи, которые решаются с помощью рабочей станции

в сети, и которые трудно решить с помощью отдельного компьютера:

Компьютерная сеть позволит совместно использовать периферийные

устройства, включая:

o принтеры;

o плоттеры;

o дисковые накопители;

o приводы CD-ROM;

o дисководы;

o стримеры;

o сканеры;

o факс-модемы;

Компьютерная сеть позволяет совместно использовать информационные

ресурсы:

o каталоги;

o файлы;

o прикладные программы;

o игры;

o базы данных;

o текстовые процессоры.

Компьютерная сеть позволяет работать с многопользовательскими

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

общим базам данных с блокировкой файлов и записей, обеспечивающей

целостность данных. Любые программы, разработанные для стандартных ЛВС,

можно использовать в других сетях.

Совместное использование ресурсов обеспечит существенную экономию

средств и времени. Например, можно коллективно использовать один лазерный

принтер вместо покупки принтера каждому сотруднику или беготни с

дискетами к единственному принтеру при отсутствии сети.

Организация электронной почты. Можно использовать ЛВС как почтовую

службу и рассылать служебные записки, доклады и сообщения другим

пользователям.

Контрольные вопросы

1.Что такое сеть?

2.Какие существуют сети?

3.Что в обязательном порядке включается в состав сети?

4.Что такое протокол?

5.Что такое логический канал?

6.В чем отличие коммуникационной сети от информационной?

7.Что такое трафик?

8.Каковы преимущества использования сетей?

Page 140: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

140

Лекция 15.

Тема 15. Архитектура сетей

Архитектура сети определяет основные элементы сети, характеризует ее

общую логическую организацию, техническое обеспечение, программное

обеспечение, описывает методы кодирования. Архитектура также определяет

принципы функционирования и интерфейс пользователя.

В данном курсе будет рассмотрено три вида архитектур:

архитектура терминал – главный компьютер;

одноранговая архитектура;

архитектура клиент – сервер.

15.1. Архитектура терминал – главный компьютер

Архитектура терминал – главный компьютер (terminal – host computer

architecture) – это концепция информационной сети, в которой вся обработка

данных осуществляется одним или группой главных компьютеров. Главный компьютер

МПД

ТерминалТерминал

МПД

ТерминалТерминал

Рисунок 15.1. Архитектура терминал – главный компьютер

Рассматриваемая архитектура предполагает два типа оборудования (Рисунок

15.1.):

Главный компьютер, где осуществляется управление сетью, хранение и

обработка данных.

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

на организацию сеансов и выполнения заданий, ввода данных для выполнения

заданий и получения результатов.

Главный компьютер через мультиплексоры передачи данных (МПД)

взаимодействуют с терминалами, как представлено на.

Классический пример архитектуры сети с главными компьютерами –

системная сетевая архитектура (System Network Architecture – SNA).

Page 141: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

141

15.2. Одноранговая архитектура

Одноранговая архитектура (peer-to-peer architecture) – это концепция

информационной сети, в которой ее ресурсы рассредоточены по всем системам.

Данная архитектура характеризуется тем, что в ней все системы равноправны.

К одноранговым сетям относятся малые сети, где любая рабочая станция

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

(Рисунок 15.2.). В одноранговых ЛВС дисковое пространство и файлы на

любом компьютере могут быть общими. Чтобы ресурс стал общим, его

необходимо отдать в общее пользование, используя службы удаленного

доступа сетевых одноранговых операционных систем. В зависимости от того,

как будет установлена защита данных, другие пользователи смогут

пользоваться файлами сразу же после их создания. Одноранговые ЛВС

достаточно хороши только для небольших рабочих групп.

Коммуникационная сеть

Информацинная

система A

Информацинная

система B

Информацинная

система D

Информацинная

система E

Информацинная

система C

Рисунок 15.2. Одноранговая архитектура

Одноранговые ЛВС являются наиболее легким и дешевым типом сетей для

установки. Они на компьютере требуют, кроме сетевой карты и сетевого

носителя, только операционной системы Windows 95 или Windows for

Workgroups. При соединении компьютеров, пользователи могут предоставлять

ресурсы и информацию в совместное пользование.

Одноранговые сети имеют следующие преимущества:

они легки в установке и настройке;

отдельные ПК не зависят от выделенного сервера;

пользователи в состоянии контролировать свои ресурсы;

малая стоимость и легкая эксплуатация;

минимум оборудования и программного обеспечения;

нет необходимости в администраторе;

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

превышающим десяти.

Page 142: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

142

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

отключаются от сети. В этих случаях из сети исчезают виды сервиса, которые

они предоставляли. Сетевую безопасность одновременно можно применить

только к одному ресурсу, и пользователь должен помнить столько паролей,

сколько сетевых ресурсов. При получении доступа к разделяемому ресурсу

ощущается падение производительности компьютера. Существенным

недостатком одноранговых сетей является отсутствие централизованного

администрирования.

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

же сети также архитектуры «терминал – главный компьютер» или архитектуры

«клиент – сервер».

15.3. Архитектура клиент – сервер

Архитектура клиент – сервер (client-server architecture) – это концепция

информационной сети, в которой основная часть ее ресурсов сосредоточена в

серверах, обслуживающих своих клиентов. Рассматриваемая архитектура

определяет два типа компонентов: серверы и клиенты (Рисунки 15.3., 15.4.).

Сервер - это объект, предоставляющий сервис другим объектам сети по их

запросам. Сервис – это процесс обслуживания клиентов.

Рабочая станция(Клиент)

Рабочая станция(Клиент)

Сервер

Коммуникационная сеть

Рисунок 15.3. Архитектура клиент – сервер

Сервер работает по заданиям клиентов и управляет выполнением их заданий.

После выполнения каждого задания сервер посылает полученные результаты

клиенту, пославшему это задание.

Сервисная функция в архитектуре клиент – сервер описывается комплексом

прикладных программ, в соответствии с которым выполняются разнообразные

прикладные процессы.

Процесс, который вызывает сервисную функцию с помощью определенных

операций, называется клиентом. Им может быть программа или пользователь.

Клиенты – это рабочие станции, которые используют ресурсы сервера и

предоставляют удобные интерфейсы пользователя. Интерфейсы пользователя

это процедуры взаимодействия пользователя с системой или сетью.

Page 143: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

143

Клиент является инициатором и использует электронную почту или другие

сервисы сервера. В этом процессе клиент запрашивает вид обслуживания,

устанавливает сеанс, получает нужные ему результаты и сообщает об

окончании работы.

Сервер

Клиенты

Прикладной

сервис

Сервис

печати

Сервис

файлов

Сетевой

сервис

Сервис

дисков

Сервис

безопасности

Рисунок 15.4. Модель клиент-сервер

В сетях с выделенным файловым сервером на выделенном автономном ПК

устанавливается серверная сетевая операционная система. Этот ПК становится

сервером. Программное обеспечение (ПО), установленное на рабочей станции,

позволяет ей обмениваться данными с сервером. Наиболее распространенные

сетевые операционные системы:

NetWare фирмы Novel;

Windows NT фирмы Microsoft;

UNIX фирмы AT&T;

Linux.

Помимо сетевой операционной системы необходимы сетевые прикладные

программы, реализующие преимущества, предоставляемые сетью.

Сети на базе серверов имеют лучшие характеристики и повышенную

надежность. Сервер владеет главными ресурсами сети, к которым обращаются

остальные рабочие станции.

В современной клиент – серверной архитектуре выделяется четыре группы

объектов: клиенты, серверы, данные и сетевые службы. Клиенты располагаются

в системах на рабочих местах пользователей. Данные в основном хранятся в

серверах. Сетевые службы являются совместно используемыми серверами и

данными. Кроме того службы управляют процедурами обработки данных.

Сети клиент – серверной архитектуры имеют следующие преимущества:

позволяют организовывать сети с большим количеством рабочих

станций;

Page 144: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

144

обеспечивают централизованное управление учетными записями

пользователей, безопасностью и доступом, что упрощает сетевое

администрирование;

эффективный доступ к сетевым ресурсам;

пользователю нужен один пароль для входа в сеть и для получения

доступа ко всем ресурсам, на которые распространяются права пользователя.

Наряду с преимуществами сети клиент – серверной архитектуры имеют и ряд

недостатков:

неисправность сервера может сделать сеть неработоспособной, как

минимум потерю сетевых ресурсов;

требуют квалифицированного персонала для администрирования;

имеют более высокую стоимость сетей и сетевого оборудования.

15.4. Выбор архитектуры сети

Выбор архитектуры сети зависит от назначения сети, количества рабочих

станций и от выполняемых на ней действий.

Следует выбрать одноранговую сеть, если:

количество пользователей не превышает десяти;

все машины находятся близко друг от друга;

имеют место небольшие финансовые возможности;

нет необходимости в специализированном сервере, таком как сервер БД,

факс-сервер или какой-либо другой;

нет возможности или необходимости в централизованном

администрировании.

Следует выбрать клиент серверную сеть, если:

количество пользователей превышает десяти;

требуется централизованное управление, безопасность, управление

ресурсами или резервное копирование;

необходим специализированный сервер;

нужен доступ к глобальной сети;

требуется разделять ресурсы на уровне пользователей.

Контрольные вопросы

1.Опишите архитектуру "терминал-главный компьютер".

2.Опишите одноранговую архитектуру.

3.Опишите архитектуру "клиент-сервер".

4.От чего зависит выбор архитектуры сети?

5.Каковы наиболее распространенные сетевые операционные системы?

6.Что такое сервисная функция?

7.Каковы преимущества одноранговых сетей?

8.В каком случае следует выбрать клиент серверную сеть?

Page 145: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

145

Лекция 16.

Тема 16. Семиуровневая модель OSI

Для единого представления данных в сетях с неоднородными устройствами и

программным обеспечением международная организация по стандартам ISO

(International Standardization Organization) разработала базовую модель связи

открытых систем OSI (Open System Interconnection). Эта модель описывает

правила и процедуры передачи данных в различных сетевых средах при

организации сеанса связи (Рисунок 16.1.). Основными элементами модели

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

Каждый уровень модели OSI выполняет определенную задачу в процессе

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

сетевых протоколов. OSI разделяет коммуникационные функции в сети на семь

уровней, каждый из которых обслуживает различные части процесса области

взаимодействия открытых систем. Пользователи

Прикладной

Представительский

Сеансовый

Траспортный

Прикладные процессы

Интерфейс

пользователя

Прикладной

интерфейс

Уровни:7

5

6

1

4

Сетевой

Канальный

Физический

3

2

Физические средства соединения

Область

взаимодействия

открытых

систем

Рисунок 16.1. Модель OSI

Модель OSI описывает только системные средства взаимодействия, не

касаясь приложений конечных пользователей. Приложения реализуют свои

собственные протоколы взаимодействия, обращаясь к системным средствам.

Если приложение может взять на себя функции некоторых верхних уровней

модели OSI, то для обмена данными оно обращается напрямую к системным

средствам, выполняющим функции оставшихся нижних уровней модели OSI.

16.1. Взаимодействие уровней модели OSI

Модель OSI можно разделить на две различных модели, как показано:

горизонтальную модель на базе протоколов, обеспечивающую механизм

взаимодействия программ и процессов на различных машинах;

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

уровнями друг другу на одной машине.

Page 146: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

146

Каждый уровень компьютера–отправителя взаимодействует с таким же

уровнем компьютера-получателя, как будто он связан напрямую. Такая связь

называется логической или виртуальной связью. В действительности

взаимодействие осуществляется между смежными уровнями одного

компьютера (Рисунок 16.2.).

Итак, информация на компьютере-отправителе должна пройти через все

уровни. Затем она передается по физической среде до компьютера–получателя

и опять проходит сквозь все слои, пока не доходит до того же уровня, с

которого она была послана на компьютере-отправителе.

В горизонтальной модели двум программам требуется общий протокол для

обмена данными. В вертикальной модели соседние уровни обмениваются

данными с использованием интерфейсов прикладных программ API

(Application Programming Interface).

Перед подачей в сеть данные разбиваются на пакеты. Пакет (packet) – это

единица информации, передаваемая между станциями сети.

Прикладной

Виртуальная

связь

Компьютер-отправитель Компьютер-получатель

Физическая среда

Представительский

Сеансовый

Транспортный

Сетевой

Канальный

Физический

Прикладной

Представительский

Сеансовый

Транспортный

Сетевой

Канальный

Физический

Рисунок 16.2. Схема взаимодействия компьютеров в базовой эталонной

модели OSI

При отправке данных пакет проходит последовательно через все уровни

программного обеспечения. На каждом уровне к пакету добавляется

управляющая информация данного уровня (заголовок), которая необходима для

успешной передачи данных по сети, где Заг – заголовок пакета, Кон – конец

пакета.

На принимающей стороне пакет проходит через все уровни в обратном

порядке. На каждом уровне протокол этого уровня читает информацию пакета,

затем удаляет информацию, добавленную к пакету на этом же уровне

отправляющей стороной, и передает пакет следующему уровню. Когда пакет

Page 147: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

147

дойдет до Прикладного уровня, вся управляющая информация будет удалена из

пакета, и данные примут свой первоначальный вид.

Каждый уровень модели выполняет свою функцию. Чем выше уровень, тем

более сложную задачу он решает.

Отдельные уровни модели OSI удобно рассматривать как группы программ,

предназначенных для выполнения конкретных функций. Один уровень, к

примеру, отвечает за обеспечение преобразования данных из ASCII в EBCDIC

и содержит программы необходимые для выполнения этой задачи.

Заг 7 Кон 7 Кон 6Заг 6

Пакет

7го уровня Заг 7 Данные Кон 7

Данные 6го уровня

Пакет

6го уровня

Кон 6Заг 6

Данные 5го уровня

Пакет

5го уровня Заг 5 Кон 5Кон 7Заг 7

Данные 4го уровня

Пакет

4го уровня Заг 4 Кон 4

Данные 3го уровня

Пакет

3го уровняКон 3

Данные 2го уровня

Пакет

2го уровня

Кон 2

Данные 1го уровня

Пакет

1го уровня

7го уровня

Заг 6Заг 5 Заг 7 Кон 6 Кон 5Кон 7

Кон 4Кон 6 Кон 5Кон 7

Кон 3Кон 4Кон 6 Кон 5Кон 7

Заг 4 Заг 6Заг 5 Заг 7Заг 3

Заг 4 Заг 6Заг 5 Заг 7Заг 3Заг 2

Заг 4 Заг 6Заг 5 Заг 7Заг 3Заг 2 Кон 2Кон 3Кон 4Кон 6 Кон 5Кон 7Заг 1 Кон 1

Рисунок 16.3. Формирование пакета каждого уровня семиуровневой модели

Каждый уровень обеспечивает сервис для вышестоящего уровня, запрашивая

в свою очередь, сервис у нижестоящего уровня. Верхние уровни запрашивают

сервис почти одинаково: как правило, это требование маршрутизации каких-то

данных из одной сети в другую. Практическая реализация принципов

адресации данных возложена на нижние уровни (Рисунок 16.3.).

Рассматриваемая модель определяет взаимодействие открытых систем

разных производителей в одной сети. Поэтому она выполняет для них

координирующие действия по:

взаимодействию прикладных процессов;

формам представления данных;

единообразному хранению данных;

управлению сетевыми ресурсами;

безопасности данных и защите информации;

диагностике программ и технических средств.

Краткое описание функций всех уровней приведено на рисунке 16.4

Page 148: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

148

7. Прикладной представляет набор интерфейсов, позволяющий получить доступ к

сетевым службам

6. Представления преобразует данные в общий формат для передачи по сети

4. Транспортный управляет передачей данных по сети, обеспечивает подтверждение

передачи

3. Сетевой маршрутизация, управление потоками данных, адресация сообщений

для доставки, преобразование логические сетевые адреса и имена в

соответствующие им физические

2. Канальный

2.1. Контроль логической связи (LLC):

формирование кадров

2.2. Контроль доступа к среде (MAC):

управление доступом к среде

1. Физический: битовые протоколы передачи информации

5. Сеансовый поддержка взаимодействия (сеанса) между удаленными процессами

Рисунок 16.4. Функции уровней

16.2. Прикладной уровень (Application layer)

Прикладной уровень обеспечивает прикладным процессам средства доступа

к области взаимодействия, является верхним (седьмым) уровнем и

непосредственно примыкает к прикладным процессам. В действительности

прикладной уровень – это набор разнообразных протоколов, с помощью

которых пользователи сети получают доступ к разделяемым ресурсам, таким

как файлы, принтеры или гипертекстовые Web-страницы, а также организуют

свою совместную работу, например с помощью протокола электронной почты.

Специальные элементы прикладного сервиса обеспечивают сервис для

конкретных прикладных программ, таких как программы пересылки файлов и

эмуляции терминалов. Если, например программе необходимо переслать

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

управления файлами FTAM (File Transfer, Access, and Management). В модели

OSI прикладная программа, которой нужно выполнить конкретную задачу

(например, обновить базу данных на компьютере), посылает конкретные

данные в виде Дейтаграммы на прикладной уровень. Одна из основных задач

этого уровня - определить, как следует обрабатывать запрос прикладной

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

Единица данных, которой оперирует прикладной уровень, обычно

называется сообщением (message).

Прикладной уровень выполняет следующие функции:

Описание форм и методов взаимодействия прикладных процессов.

Выполнение различных видов работ.

Page 149: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

149

o передача файлов;

o управление заданиями;

o управление системой и т.д.

Идентификация пользователей по их паролям, адресам, электронным

подписям;

Определение функционирующих абонентов и возможности доступа к

новым прикладным процессам;

Определение достаточности имеющихся ресурсов;

Организация запросов на соединение с другими прикладными

процессами;

Передача заявок представительскому уровню на необходимые методы

описания информации;

Выбор процедур планируемого диалога процессов;

Управление данными, которыми обмениваются прикладные процессы и

синхронизация взаимодействия прикладных процессов;

Определение качества обслуживания (время доставки блоков данных,

допустимой частоты ошибок);

Соглашение об исправлении ошибок и определении достоверности

данных;

Согласование ограничений, накладываемых на синтаксис (наборы

символов, структура данных).

Указанные функции определяют виды сервиса, которые прикладной уровень

предоставляет прикладным процессам. Кроме этого, прикладной уровень

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

канальным, сетевым, транспортным, сеансовым и представительским

уровнями.

На прикладном уровне необходимо предоставить в распоряжение

пользователей уже переработанную информацию. С этим может справиться

системное и пользовательское программное обеспечение.

Прикладной уровень отвечает за доступ приложений в сеть. Задачами этого

уровня является перенос файлов, обмен почтовыми сообщениями и управление

сетью.

К числу наиболее распространенных протоколов верхних трех уровней

относятся:

FTP (File Transfer Protocol) протокол передачи файлов;

TFTP (Trivial File Transfer Protocol) простейший протокол пересылки

файлов;

X.400 электронная почта;

Telnet работа с удаленным терминалом;

SMTP (Simple Mail Transfer Protocol) простой протокол почтового

обмена;

CMIP (Common Management Information Protocol) общий протокол

управления информацией;

Page 150: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

150

SLIP (Serial Line IP) IP для последовательных линий. Протокол

последовательной посимвольной передачи данных;

SNMP (Simple Network Management Protocol) простой протокол сетевого

управления;

FTAM (File Transfer, Access, and Management) протокол передачи,

доступа и управления файлами.

16.3. Уровень представления данных (Presentation layer)

Уровень представления данных или представительский уровень представляет

данные, передаваемые между прикладными процессами, в нужной форме

данные.

Этот уровень обеспечивает то, что информация, передаваемая прикладным

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

необходимости уровень представления в момент передачи информации

выполняет преобразование форматов данных в некоторый общий формат

представления, а в момент приема, соответственно, выполняет обратное

преобразование. Таким образом, прикладные уровни могут преодолеть,

например, синтаксические различия в представлении данных. Такая ситуация

может возникнуть в ЛВС с неоднотипными компьютерами (IBM PC и

Macintosh), которым необходимо обмениваться данными. Так, в полях баз

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

и в виде графического изображения. Обрабатывать же эти данные нужно,

например, как числа с плавающей запятой.

В основу общего представления данных положена единая для всех уровней

модели система ASN.1. Эта система служит для описания структуры файлов, а

также позволяет решить проблему шифрования данных. На этом уровне может

выполняться шифрование и дешифрование данных, благодаря которым

секретность обмена данными обеспечивается сразу для всех прикладных

сервисов. Примером такого протокола является протокол Secure Socket Layer

(SSL), который обеспечивает секретный обмен сообщениями для протоколов

прикладного уровня стека TCP/IP. Этот уровень обеспечивает преобразование

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

информации для транспортного уровня.

Представительный уровень выполняет следующие основные функции:

Генерация запросов на установление сеансов взаимодействия прикладных

процессов.

Согласование представления данных между прикладными процессами.

Реализация форм представления данных.

Представление графического материала (чертежей, рисунков, схем).

Засекречивание данных.

Передача запросов на прекращение сеансов.

Протоколы уровня представления данных обычно являются составной

частью протоколов трех верхних уровней модели.

Page 151: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

151

16.4. Сеансовый уровень (Session layer)

Сеансовый уровень – это уровень, определяющий процедуру проведения

сеансов между пользователями или прикладными процессами.

Сеансовый уровень обеспечивает управление диалогом для того, чтобы

фиксировать, какая из сторон является активной в настоящий момент, а также

предоставляет средства синхронизации. Последние позволяют вставлять

контрольные точки в длинные передачи, чтобы в случае отказа можно было

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

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

и он редко реализуется.

Сеансовый уровень управляет передачей информации между прикладными

процессами, координирует прием, передачу и выдачу одного сеанса связи.

Кроме того, сеансовый уровень содержит дополнительно функции управления

паролями, управления диалогом, синхронизации и отмены связи в сеансе

передачи после сбоя вследствие ошибок в нижерасположенных уровнях.

Функции этого уровня состоят в координации связи между двумя прикладными

программами, работающими на разных рабочих станциях. Это происходит в

виде хорошо структурированного диалога. В число этих функций входит

создание сеанса, управление передачей и приемом пакетов сообщений во время

сеанса и завершение сеанса.

На сеансовом уровне определяется, какой будет передача между двумя

прикладными процессами:

полудуплексной (процессы будут передавать и принимать данные по

очереди);

дуплексной (процессы будут передавать данные, и принимать их

одновременно).

В полудуплексном режиме сеансовый уровень выдает тому процессу,

который начинает передачу, маркер данных. Когда второму процессу приходит

время отвечать, маркер данных передается ему. Сеансовый уровень разрешает

передачу только той стороне, которая обладает маркером данных.

Сеансовый уровень обеспечивает выполнение следующих функций:

Установление и завершение на сеансовом уровне соединения между

взаимодействующими системами.

Выполнение нормального и срочного обмена данными между

прикладными процессами.

Управление взаимодействием прикладных процессов.

Синхронизация сеансовых соединений.

Извещение прикладных процессов об исключительных ситуациях.

Установление в прикладном процессе меток, позволяющих после отказа

либо ошибки восстановить его выполнение от ближайшей метки.

Прерывание в нужных случаях прикладного процесса и его корректное

возобновление.

Page 152: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

152

Прекращение сеанса без потери данных.

Передача особых сообщений о ходе проведения сеанса.

Сеансовый уровень отвечает за организацию сеансов обмена данными между

оконечными машинами. Протоколы сеансового уровня обычно являются

составной частью протоколов трех верхних уровней модели.

16.5. Транспортный уровень (Transport Layer)

Транспортный уровень предназначен для передачи пакетов через

коммуникационную сеть. На транспортном уровне пакеты разбиваются на

блоки.

На пути от отправителя к получателю пакеты могут быть искажены или

утеряны. Хотя некоторые приложения имеют собственные средства обработки

ошибок, существуют и такие, которые предпочитают сразу иметь дело с

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

чтобы обеспечить приложениям или верхним уровням модели (прикладному и

сеансовому) передачу данных с той степенью надежности, которая им

требуется. Модель OSI определяет пять классов сервиса, предоставляемых

транспортным уровнем. Эти виды сервиса отличаются качеством

предоставляемых услуг: срочностью, возможностью восстановления

прерванной связи, наличием средств мультиплексирования нескольких

соединений между различными прикладными протоколами через общий

транспортный протокол, а главное способностью к обнаружению и

исправлению ошибок передачи, таких как искажение, потеря и дублирование

пакетов.

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

их частей) в сети. Этот уровень гарантирует доставку блоков информации

адресатам и управляет этой доставкой. Его главной задачей является

обеспечение эффективных, удобных и надежных форм передачи информации

между системами. Когда в процессе обработки находится более одного пакета,

транспортный уровень контролирует очередность прохождения пакетов. Если

проходит дубликат принятого ранее сообщения, то данный уровень опознает

это и игнорирует сообщение.

В функции транспортного уровня входят:

Управление передачей по сети и обеспечение целостности блоков

данных.

Обнаружение ошибок, частичная их ликвидация и сообщение о

неисправленных ошибках.

Восстановление передачи после отказов и неисправностей.

Укрупнение или разделение блоков данных.

Предоставление приоритетов при передаче блоков (нормальная или

срочная).

Подтверждение передачи.

Page 153: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

153

Ликвидация блоков при тупиковых ситуациях в сети.

Начиная с транспортного уровня, все вышележащие протоколы реализуются

программными средствами, обычно включаемыми в состав сетевой

операционной системы.

Наиболее распространенные протоколы транспортного уровня включают в

себя:

TCP (Transmission Control Protocol) протокол управления передачей стека

TCP/IP;

UDP (User Datagram Protocol) пользовательский протокол дейтаграмм

стека TCP/IP;

NCP (NetWare Core Protocol) базовый протокол сетей NetWare;

SPX (Sequenced Packet eXchange) упорядоченный обмен пакетами стека

Novell;

TP4 (Transmission Protocol) – протокол передачи класса 4.

Контрольные вопросы

1.Что описывает модель OSI?

2.Что такое пакет?

3.Перечислите уровни модели OSI.

4.Какие функции выполняет прикладной уровень?

5.Какие протоколы являются наиболее распространенными на трех верхних

уровнях?

6.Опишите работу уровня представления.

7.Каковы функции сеансового уровня?

8.Какие функции выполняет транспортный уровень?

Page 154: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

154

Лекция 17

17.1. Сетевой уровень (Network Layer)

Сетевой уровень обеспечивает прокладку каналов, соединяющих

абонентские и административные системы через коммуникационную сеть,

выбор маршрута наиболее быстрого и надежного пути.

Сетевой уровень устанавливает связь в вычислительной сети между двумя

системами и обеспечивает прокладку виртуальных каналов между ними.

Виртуальный или логический канал - это такое функционирование компонентов

сети, которое создает взаимодействующим компонентам иллюзию прокладки

между ними нужного тракта. Кроме этого, сетевой уровень сообщает

транспортному уровню о появляющихся ошибках. Сообщения сетевого уровня

принято называть пакетами (packet). В них помещаются фрагменты данных.

Сетевой уровень отвечает за их адресацию и доставку.

Прокладка наилучшего пути для передачи данных называется

маршрутизацией, и ее решение является главной задачей сетевого уровня. Эта

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

Часто критерием при выборе маршрута является время передачи данных по

этому маршруту; оно зависит от пропускной способности каналов связи и

интенсивности трафика, которая может изменяться с течением времени.

Некоторые алгоритмы маршрутизации пытаются приспособиться к изменению

нагрузки, в то время как другие принимают решения на основе средних

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

другим критериям, например, надежности передачи.

Протокол канального уровня обеспечивает доставку данных между любыми

узлами только в сети с соответствующей типовой топологией. Это очень

жесткое ограничение, которое не позволяет строить сети с развитой

структурой, например, сети, объединяющие несколько сетей предприятия в

единую сеть, или высоконадежные сети, в которых существуют избыточные

связи между узлами.

Таким образом, внутри сети доставка данных регулируется канальным

уровнем, а вот доставкой данных между сетями занимается сетевой уровень.

При организации доставки пакетов на сетевом уровне используется понятие

номер сети. В этом случае адрес получателя состоит из номера сети и номера

компьютера в этой сети.

Сети соединяются между собой специальными устройствами, называемыми

маршрутизаторами. Маршрутизатор это устройство, которое собирает

информацию о топологии межсетевых соединений и на ее основании

пересылает пакеты сетевого уровня в сеть назначения. Для того чтобы передать

сообщение от отправителя, находящегося в одной сети, получателю,

находящемуся в другой сети, нужно совершить некоторое количество

транзитных передач (hops) между сетями, каждый раз, выбирая подходящий

маршрут. Таким образом, маршрут представляет собой последовательность

маршрутизаторов, по которым проходит пакет.

Page 155: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

155

Сетевой уровень отвечает за деление пользователей на группы и

маршрутизацию пакетов на основе преобразования MAC-адресов в сетевые

адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на

транспортный уровень.

Сетевой уровень выполняет функции:

Создание сетевых соединений и идентификация их портов.

Обнаружение и исправление ошибок, возникающих при передаче через

коммуникационную сеть.

Управление потоками пакетов.

Организация (упорядочение) последовательностей пакетов.

Маршрутизация и коммутация.

Сегментирование и объединение пакетов.

На сетевом уровне определяется два вида протоколов. Первый вид относится

к определению правил передачи пакетов с данными конечных узлов от узла к

маршрутизатору и между маршрутизаторами. Именно эти протоколы обычно

имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к

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

обмена маршрутной информацией. С помощью этих протоколов

маршрутизаторы собирают информацию о топологии межсетевых соединений.

Протоколы сетевого уровня реализуются программными модулями

операционной системы, а также программными и аппаратными средствами

маршрутизаторов.

Наиболее часто на сетевом уровне используются протоколы:

IP (Internet Protocol) протокол Internet, сетевой протокол стека TCP/IP,

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

IPX (Internetwork Packet Exchange) протокол межсетевого обмена

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

Novell;

X.25 международный стандарт для глобальных коммуникаций с

коммутацией пакетов (частично этот протокол реализован на уровне 2);

CLNP (Connection Less Network Protocol) сетевой протокол без

организации соединений.

17.2. Канальный уровень (Data Link)

Единицей информации канального уровня являются кадры (frame). Кадры –

это логически организованная структура, в которую можно помещать данные.

Задача канального уровня передавать кадры от сетевого уровня к физическому

уровню.

На физическом уровне просто пересылаются биты. При этом не учитывается,

что в некоторых сетях, в которых линии связи используются попеременно

несколькими парами взаимодействующих компьютеров, физическая среда

передачи может быть занята. Поэтому одной из задач канального уровня

Page 156: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

156

является проверка доступности среды передачи. Другой задачей канального

уровня является реализация механизмов обнаружения и коррекции ошибок.

Канальный уровень обеспечивает корректность передачи каждого кадра,

помещая специальную последовательность бит, в начало и конец каждого

кадра, чтобы отметить его, а также вычисляет контрольную сумму, суммируя

все байты кадра определенным способом и добавляя контрольную сумму к

кадру. Когда кадр приходит, получатель снова вычисляет контрольную сумму

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

Если они совпадают, кадр считается правильным и принимается. Если же

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

Задача канального уровня - брать пакеты, поступающие с сетевого уровня и

готовить их к передаче, укладывая в кадр соответствующего размера. Этот

уровень обязан определить, где начинается и где заканчивается блок, а также

обнаруживать ошибки передачи.

На этом же уровне определяются правила использования физического уровня

узлами сети. Электрическое представление данных в ЛВС (биты данных,

методы кодирования данных и маркеры) распознаются на этом и только на этом

уровне. Здесь обнаруживаются и исправляются (путем требований повторной

передачи данных) ошибки.

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

Этот уровень обслуживает запросы сетевого уровня и использует сервис

физического уровня для приема и передачи пакетов. Спецификации IEEE 802.Х

делят канальный уровень на два подуровня:

LLC (Logical Link Control) управление логическим каналом осуществляет

логический контроль связи. Подуровень LLC обеспечивает обслуживание

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

MAC (Media Aссess Control) контроль доступа к среде. Подуровень MAC

регулирует доступ к разделяемой физической среде (передача маркера или

обнаружение коллизий или столкновений) и управляет доступом к каналу

связи. Подуровень LLC находится выше подуровня МАC.

Канальный уровень определяет доступ к среде и управление передачей

посредством процедуры передачи данных по каналу. При больших размерах

передаваемых блоков данных канальный уровень делит их на кадры и передает

кадры в виде последовательностей. При получении кадров уровень формирует

из них переданные блоки данных. Размер блока данных зависит от способа

передачи, качества канала, по которому он передается.

В локальных сетях протоколы канального уровня используются

компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах

функции канального уровня реализуются совместными усилиями сетевых

адаптеров и их драйверов.

Канальный уровень может выполнять следующие виды функций:

Page 157: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

157

Организация (установление, управление, расторжение) канальных

соединений и идентификация их портов.

Организация и передача кадров.

Обнаружение и исправление ошибок.

Управление потоками данных.

Обеспечение прозрачности логических каналов (передачи по ним данных,

закодированных любым способом).

Наиболее часто используемые протоколы на канальном уровне включают:

HDLC (High Level Data Link Control) протокол управления каналом

передачи данных высокого уровня, для последовательных соединений;

IEEE 802.2 LLC (тип I и тип II) обеспечивают MAC для сред 802.x;

Ethernet сетевая технология по стандарту IEEE 802.3 для сетей,

использующая шинную топологию и коллективный доступ с прослушиванием

несущей и обнаружением конфликтов;

Token ring сетевая технология по стандарту IEEE 802.5, использующая

кольцевую топологию и метод доступа к кольцу с передачей маркера;

FDDI (Fiber Distributed Date Interface Station) сетевая технология по

стандарту IEEE 802.6, использующая оптоволоконный носитель;

X.25 международный стандарт для глобальных коммуникаций с

коммутацией пакетов;

Frame relay сеть, организованная из технологий Х25 и ISDN.

17.3. Физический уровень (Physical Layer)

Физический уровень предназначен для сопряжения с физическими

средствами соединения. Физические средства соединения – это совокупность

физической среды, аппаратных и программных средств, обеспечивающая

передачу сигналов между системами. Физическая среда – это материальная

субстанция, через которую осуществляется передача сигналов. Физическая

среда является основой, на которой строятся физические средства соединения.

В качестве физической среды широко используются эфир, металлы, оптическое

стекло и кварц.

Физический уровень состоит из Подуровня стыковки со средой и Подуровня

преобразования передачи (Рисунок 15.5.).

Первый из них обеспечивает сопряжение потока данных с используемым

физическим каналом связи. Второй осуществляет преобразования, связанные с

применяемыми протоколами. Физический уровень обеспечивает физический

интерфейс с каналом передачи данных, а также описывает процедуры передачи

сигналов в канал и получения их из канала. На этом уровне определяются

электрические, механические, функциональные и процедурные параметры для

физической связи в системах. Физический уровень получает пакеты данных от

вышележащего канального уровня и преобразует их в оптические или

электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы

Page 158: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

158

посылаются через среду передачи на приемный узел. Механические и

электрические / оптические свойства среды передачи определяются на

физическом уровне и включают:

тип кабелей и разъемов;

разводку контактов в разъемах;

схему кодирования сигналов для значений 0 и 1.

Физический уровень выполняет следующие функции:

Установление и разъединение физических соединений.

Передача сигналов в последовательном коде и прием.

Прослушивание, в нужных случаях, каналов.

Идентификация каналов.

Оповещение о появлении неисправностей и отказов.

Оповещение о появлении неисправностей и отказов связано с тем, что на

физическом уровне происходит обнаружение определенного класса событий,

мешающих нормальной работе сети (столкновение кадров, посланных сразу

несколькими системами, обрыв канала, отключение питания, потеря

механического контакта и т. д.). Виды сервиса, предоставляемого канальному

уровню, определяются протоколами физического уровня. Прослушивание

канала необходимо в тех случаях, когда к одному каналу подключается группа

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

Поэтому прослушивание канала позволяет определить, свободен ли он для

передачи. В ряде случаев для более четкого определения структуры физический

уровень разбивается на несколько подуровней. Например, физический уровень

беспроводной сети делится на три подуровня.

Функции физического уровня реализуются во всех устройствах,

подключенных к сети. Со стороны компьютера функции физического уровня

выполняются сетевым адаптером. Повторители являются единственным типом

оборудования, которое работает только на физическом уровне.

Выполняется преобразование данных, поступающих от более высокого

уровня, в сигналы передающие по кабелю. В глобальных сетях на этом уровне

могут использоваться модемы и интерфейс RS-232C.

Подуровень, не зависимый

от физических средств

соединения

Переходный подуровень,

Подуровень, зависимый от

физических средств

соединения

Рисунок 17.1. Физический уровень беспроводной локальной сети

Page 159: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

159

В локальных сетях для преобразования данных применяют сетевые адаптеры,

обеспечивающие скоростную передачу данных в цифровой форме. Пример

протокола физического уровня - это широко известный интерфейс RS-232C /

CCITT V.2, который является наиболее широко распространенной стандартной

последовательной связью между компьютерами и периферийными

устройствами.

Можно считать этот уровень, отвечающим за аппаратное обеспечение.

Физический уровень может обеспечивать как асинхронную

(последовательную) так и синхронную (параллельную) передачу, которая

применяется для некоторых мэйнфреймов и мини - компьютеров. На

Физическом уровне должна быть определена схема кодирования для

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

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

Примером протокола физического уровня может служить спецификация

10Base-T технологии Ethernet, которая определяет в качестве используемого

кабеля неэкранированную витую пару категории 3 с волновым сопротивлением

100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров,

манчестерский код для представления данных на кабеле, и другие

характеристики среды и электрических сигналов.

К числу наиболее распространенных спецификаций физического уровня

относятся:

EIA-RS-232-C, CCITT V.24/V.28 - механические/электрические

характеристики несбалансированного последовательного интерфейса;

EIA-RS-422/449, CCITT V.10 - механические, электрические и оптические

характеристики сбалансированного последовательного интерфейса;

Ethernet – сетевая технология по стандарту IEEE 802.3 для сетей,

использующая шинную топологию и коллективный доступ с прослушиванием

несущей и обнаружением конфликтов;

Token ring – сетевая технология по стандарту IEEE 802.5, использующая

кольцевую топологию и метод доступа к кольцу с передачей маркера;

17.4. Сетезависимые протоколы

Функции всех уровней модели OSI могут быть отнесены к одной из двух

групп: либо к функциям, зависящим от конкретной технической реализации

сети, либо к функциям, ориентированным на работу с приложениями.

Три нижних уровня физический, канальный и сетевой являются

сетезависимыми, протоколы этих уровней тесно связаны с технической

реализацией сети, с используемым коммуникационным оборудованием.

Например, переход на оборудование FDDI означает смену протоколов

физического и канального уровня во всех узлах сети.

Три верхних уровня сеансовый, уровень представления и прикладной

ориентированы на приложения и мало зависят от технических особенностей

построения сети. На протоколы этих уровней не влияют никакие изменения в

топологии сети, замена оборудования или переход на другую сетевую

Page 160: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

160

технологию. Так, переход от Ethernet на высокоскоростную технологию

100VG-AnyLAN не потребует никаких изменений в программных средствах,

реализующих функции прикладного, представительного и сеансового уровней.

Транспортный уровень является промежуточным, он скрывает все детали

функционирования нижних уровней от верхних уровней. Это позволяет

разрабатывать приложения, не зависящие от технических средств,

непосредственно занимающихся транспортировкой сообщений.

Одна рабочая станция взаимодействует с другой рабочей станцией

посредством протоколов всех семи уровней. Это взаимодействие станции

осуществляют через различные коммуникационные устройства:

концентраторы, модемы, мосты, коммутаторы, маршрутизаторы,

мультиплексоры. В зависимости от типа коммуникационное устройство может

работать:

либо только на физическом уровне (повторитель);

либо на физическом и канальном уровнях (мост);

либо на физическом, канальном и сетевом уровнях, иногда захватывая и

транспортный уровень (маршрутизатор).

Модель OSI представляет собой хотя и очень важную, но только одну из

многих моделей коммуникаций. Эти модели и связанные с ними стеки

протоколов могут отличаться количеством уровней, их функциями, форматами

сообщений, сервисами, предоставляемыми на верхних уровнях, и прочими

параметрами.

17.5 Стеки коммуникационных протоколов

Иерархически организованная совокупность протоколов, решающих задачу

взаимодействия узлов сети, называется стеком коммуникационных протоколов.

Протоколы соседних уровней, находящихся в одном узле, взаимодействуют

друг с другом также в соответствии с четко определенными правилами и с

помощью стандартизованных форматов сообщений. Эти правила принято

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

нижележащий уровень предоставляет вышележащему уровню.

Контрольные вопросы

1.Какие функции выполняет сетевой уровень?

2.Какие функции выполняет канальный уровень?

3.Какие функции выполняет физический уровень?

4.какие протоколы называются сетенезависимыми?

5.Что такое интерфейс?

6.Что такое физическая среда?

7.Что такое контроль доступа к среде?

8.На каком уровне выполняется маршрутизация пакетов?

Page 161: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

161

Список литературы

1.Hack M. Petri net languages: Tech. Rep. / MIT. 1976. ¹ 159. 128 p.

http://parallel.srcc.msu.su/computers/

2.Архитектура вычислительных систем: Учеб. пособие/В. Г. Хорошевский. - М.:

Изд-во МГТУ им. Баумана, 2005. - 511с.

3.Валиев К. А. Квантовые компьютеры: надежды и реальность. - М.: Ижевск:

Регулярная и хаотическая динамика, 2002.—320 с

4.Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб: БХВ-

Питербург, 2002. - 608с.

5.Головкин Б.А. Вычислительные системы с большим числом процессоров. М.:

Радио и связь, 1995. - 318с.

6.Ефремов В.Д., Мелехин В.Ф. Вычислительные машины и системы. - М.:

Высшая школа, 1993. - 292 с.

7.Заморин А.П., Мячев А.А., Селиванов Ю.П. Вычислительные машины,

системы, комплексы. - М.: Энергоатомиздат, 1985. - 264 с.

8.Ильина О.П., Бройдо В. Л. Архитектура ЭВМ и систем. - Изда- тельст-во:

Питер, 2006. - 718с.

9.Корнеев В.В. Параллельные вычислительные системы. - М.: Нолидж, 1999. -

320с.

10.КотовВ.Е. Сети Петри. - М.: Наука, 1984. - 160 с.

11.КулагинМ. Технологии корпоративных сетей. - СПб.: Питер, 1999. - 704 с.

12.НемнюгинС.А. Параллельное программирование для многопроцессорных

вычислительных систем. - СПб.: БХВ- Петербург, 2002.—400 с.

13.Организация ЭВМ и систем: учебник для вузов/Б. Я. Цилькер, С.А. Орлов. -

СПб.: Питер, 2004. - 667 с.

14.Организация ЭВМ/К. Хамармер, Э. Вранешич, С. Заки (Пер. с англ) - 5-е изд.

- СПб.: Питер, 2003. - 845с.

15.ПоповИ.И., Партыка Т.Л., Максимов Н.В. Архитектура ЭВМ и

вычислительных систем. - Издательство: Инфра-М, Форум, 2005. - 352с.

16.Системное программное обеспечение / А.В.Гордеев, А.Ю.Молчанов. - СПб.:

Питер, 2002. - 736 с.

17.СмирновА.Д. Архитектура вычислительных систем. М.: Наука, 1990.

18.Уолренд Дж.. Телекоммуникационные и компьютерные сети. - М.:

Постмаркет, 2001. - 480с.

Page 162: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

162

Глоссарий

Адаптер. Устройство связи компьютера с периферийными устройствами.

Адрес. Номер конкретного байта оперативной памяти компьютера.

Алгоритм – понятное и точное предписание (указание) исполнителю

совершить определенную последовательность действий, направленных на

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

от исходных данных к искомому результату).

Арифметико-логическое устройство (АЛУ). Часть процессора, которая

производит выполнение операций, предусмотренных данным компьютером.

Архитектура фон Неймана. Архитектура компьютера, имеющего одно

арифметико-логическое устройство, через которое проходит поток данных,

и одно устройство управления, через которое проходит поток команд.

Архитектура ЭВМ – общее описание структуры и функции ЭВМ на уровне,

достаточном для понимания принципов работы и системы команд ЭВМ.

Байт машинное слово минимальной размерности, адресуемое в

процессе обработки данных. Размерность байта - 8 бит - принята не только

для представления данных в большинстве компьютеров, но и в качестве

стандарта для хранения данных на внешних носителях, для передачи

данных по каналам связи, для представления текстовой информации.

Бит. Наименьшая единица информации в цифровом компьютере,

принимающая значения "0" или "1".

Ввод. Считывание информации с внешнего устройства в память

компьютера.

Виртуальная память отличается от обычной ОП тем, что какие-то ее,

редко используемые, фрагменты могут находиться на диске и подгружаться

в реальную ОП по мере необходимости.

Внешние устройства – устройства ввода и вывода информации.

Второе поколение компьютерной техники. Машины, созданные в 1955

65 гг. Элементная база дискретные транзисторные логические элементы.

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

устройства работы с магнитными лентами, магнитные барабаны и диски.

Вывод. Результаты работы программы, выдаваемые компьютером

пользователю, другому компьютеру или во внешнюю память.

Главная, (внутренняя, оперативная) память компьютера представляет

собой упорядоченную последовательность байтов или машинных слов

(ячеек памяти), проще говоря, − массив.

Диск. Круглая металлическая или пластмассовая пластина, покрытая

магнитным материалом, на которую информация наносится в виде

концентрических дорожек, разделѐнных на секторы.

Драйвер (Driver) резидентный программный модуль, осуществляющий

управление внешним устройством и связь с операционной системой и

прикладными программами.

Page 163: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

163

Интегральная схема. Реализация электронной схемы, выполняющей

некоторую функцию, в виде единого полупроводникового кристалла, в

котором изготовлены все компоненты, необходимые для осуществления этой

функции.

Интерфейс (Interface) совокупность технических и программных средств

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

взаимодействие пользователя с системой.

Информационная сеть (Information Network) совокупность средств

хранения и обработки данных на компьютерах.

Информация. Сведения об объектах и явлениях окружающей среды, их

параметрах, свойствах и состоянии, которые воспринимают

информационные системы (живые организмы, управляющие машины и др.) в

процессе жизнедеятельности и работы.

Кодирование (Coding). Установление согласованного (узаконенного)

соответствия между набором символов и сигналами или битовыми

комбинациями, представляющими каждый символ для целей передачи,

хранения или обработки данных.

Команда. Описание элементарной операции, которую должен выполнить

компьютер.

Компьютер. Программируемое электронное устройство, способное

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

задачи манипулирования символами.

Контроллер. Устройство, которое связывает периферийное оборудование

или каналы связи с центральным процессором, освобождая процессор от

непосредственного управления функционированием данного оборудования.

Кэш-память – сверхоперативная память, обращение к которой намного

быстрее, чем к оперативной и в которой хранятся наиболее часто

используемые участки последней.

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

отличающаяся количеством адресов в команде, назначением информации,

задаваемой в адресах, набором операций, которые может выполнить

машина, и др.

Микрокомпьютер. Компьютер, в котором в качестве управляющего и

арифметического устройства используется микропроцессор.

Микропроцессор. Процессор, выполненный в виде интегральной схемы.

Состоит из цепей управления, регистров, сумматоров, счѐтчиков команд, очень

быстрой памяти малого объѐма.

Оперативная память – предназначена для хранения программ и данных,

которыми манипулирует процессор.

Первое поколение компьютерной техники. Машины, созданные на

рубеже 50-х годов.

Поколения компьютеров. Условная, нестрогая классификация

вычислительных систем по степени развития аппаратных и программных

средств, а также способов общения с ними.

Page 164: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

164

Постоянная память (ПЗУ). Энергонезависимое запоминающее

устройство, изготовленное в виде микросхемы.

Прерывания – специфические сигналы, посылаемые процессору

устройством или программой, когда требуется его немедленное

вмешательство.

Принципы фон-Неймана. Принцип программного управления.

Программа состоит из набора команд, которые выполняются процессором

автоматически друг за другом в определѐнной последовательности.

Процессор – центральное устройство компьютера. Назначение

процессора: управлять работой ЭВМ по заданной программе; выполнять

операции обработки информации.

Регистр. Специальная запоминающая ячейка, выполняющая функции

кратковременного хранения числа или команды и выполнения над ними

некоторых операций.

Сервер (server). Сетевой компьютер, на котором находятся доступные

клиентам ресурсы.

Стек – среда для размещения данных для возврата из подпрограмм, а

также их аргументы и автоматические данные.

Сумматор. Электронная логическая схема, выполняющая суммирование

двоичных чисел.

Суперкомпьютер. Очень мощный компьютер с производительностью

свыше 100 мегафлопов (1 мегафлоп – миллион операций с плавающей

точкой в секунду).

Третье поколение компьютерной техники. Семейства программно -

совместимых машин с развитыми операционными системами. Элементная

база – большие и сверхбольшие интегральные схемы.

Устройство управления (УУ). Часть процессора, выполняющая функции

управления устройствами компьютера.

Файл (File). Именованный организованный набор данных определенного

типа и назначения, находящийся под управлением операционной системы.

Файловая система (File management system), Динамически поддерживаемая

информационная структура на устройствах прямого доступа (диски),

обеспечивающая функцию управления данными ОС путем связи "имя-адрес".

Четвѐртое поколение компьютерной техники. Поколение электронно-

вычислительных машин, разработанных после 1970 года.

Шина (bus). Устройство, способное управлять, по крайней мере, ещѐ

одним устройством. К шине подключаются платы адаптеров. С точки

зрения подсистемы PLUG & PLAY , шиной является всякое устройство,

способное обеспечивать ресурсы.

ЭВМ (Computer). Универсальный комплекс технических средств,

предназначенный для программированной обработки информации

(Электронная вычислительная машина).

Язык ассемблера. Система обозначений, используемая для

представления в удобочитаемой форме программ, записанных в машинном

коде. Перевод программы с языка ассемблера на машинный язык

Page 165: ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ СИСТЕМАelib.psuti.ru/Arhitektura_vytchislit_sistem_konspekt... ·  · 2015-05-28ЛЕКЦИЯ 1. 13 ТЕМА 1 ... ОРГАНИЗАЦИЯ

165

осуществляется специальной программой, которая называется ассемблером и

является, по сути, простейшим транслятором.