АРХИТЕКТУРА
ВЫЧИСЛИТЕЛЬНЫХ
СИСТЕМ
Учебник
Снежинск
ББК
ЧК
УДК 681/31(075.8)
Рецензенты: Ведущий научный сотрудник подр. 720 РФЯЦ ВНИИТФ г. Снежинск, к.т.н. Н.И. Жариков
Чернышев О.Ю ., Крушный В.В.
Ч хх Архитектура вычислительных систем/ О.Ю Чернышев, В.В. Крушный: Учебник для вузов. Снежинск.
_______ изд. 2012. 330 с.: ил. 132
Рассмотрены принципы построения ЭВМ, вычислительных комплексов и вычислительных систем, систем телеобработки и вычислительных сетей в ходе их эволюционного и революционного развития.
Даны классификации и приведены многочисленные схемы архитектур и структур как классических, так и самых современных систем.
Для студентов ВУЗОВ, а также всех заинтересованных специалистов, желающих держать себя «в тонусе», и работающих в области вычислительной техники.
ЧК ББК
© О.Ю. Чернышев, В.В. Крушный
Содержание
Предисловие......……………………………………………………… 10
Глава первая
Основные определения...………………………………………… 14
1.1 Определение систем обработки данных. Способы построения........................................................................................... 15
1.2 Общая классификация вычислительных систем обработки данных – архитектур................................................................. 23
Вопросы и задания для самопроверки.................................. 24
Глава вторая
Общие концепции архитектур......……………………………... 25
2.1 Состав и функционирование.......................................... 25
2.2 Характеристики и параметры......................................... 31
2.2.1 Производительность............................................. 32
2.2.2 Время ответа........................................................ 39
2.2.3 Характеристики надежности................................. 40
2.3 Режимы обработки данных............................................. 42
2.3.1 Пакетная и оперативная обработка данных........... 42
2.3.2 Мультипрограммная обработка............................. 44
2.3.3 Обработка данных в реальном масштабе времени... 46
2.3.4 Режим телеобработки данных................................ 46
2.3.5 Параллельная обработка данных........................... 47
2.4 Классификация систем параллельной обработки............ 50
2.5 Конвейерная обработка данных...................................... 55
Вопросы и задания для самопроверки.................................. 58
Глава третья
Вычислительные комплексы. Архитектуры и описания..... 60
3.1 Одномашинные архитектуры обработки данных............. 60
3.1.1 Классическое построение электронных вычислительных машин................................................................................ 60
3.1.2 Развитие структуры вычислительных машин в машинах второго поколения.............................................................. 64
3.1.3 Развитие архитектуры в машинах третьего
поколения................................................................................. 67
3.2 Многомашинные комплексы.......................................... 69
3.3 Примеры реализации многомашинных комплексов........ 73
3.3.1 Комплексы на базе средних и больших машин...... 73
3.3.2 Комплексы на базе мини-ЭВМ.............................. 76
3.4 Многопроцессорные комплексы..................................... 79
3.5 Многопроцессорная однородная обработка.................... 83
3.6 Вычислительные комплексы на базе микропроцессоров, микро- и ини-ЭВМ....................................................... 85
3.7 Особенности организации вычислительных комплексов. 88
Вопросы и задания для самопроверки....................................... 91
Глава четвертая
Вычислительные системы...........……………………………… 93
4.1 Системы с конвейерной обработкой информации........... 93
4.2 Матричные системы....................................................... 97
4.3 Ассоциативные системы............................................... 103
4.4 Однородные системы и среды....................................... 107
4.5 Функционально распределенные системы..................... 108
4.6 Системы с перестраиваемой структурой........................ 111
Вопросы и задания для самопроверки...................................... 115
Глава пятая
Современные архитектуры вычислительных систем........117
5.1 Современные направления развития высокопроизводительной вычислительной техники.................................................. 117
5.2 Примеры современных структур................................... 120
5.2.1 Архитектура современного процессора................. 120
5.2.2 Многоядерные процессоры................................... 126
5.3 Симметричные системы (SMP) – системы с общим полем
памяти.................................................................................... 128
5.4 Семейство массово-параллельных машин (MPP)........... 129
5.5 Суперкомпьютер СКИФ МГУ- Беларусь........................ 133
5.6 Гибридные технологии.................................................. 139
5.7 Прогнозируемое направление перспективного развития компьютерных и сетевых архитектур – архитектура Grid...................................................................................... 144
Вопросы и задания для самопроверки................................. 145
Глава шестая
Системы телеобработки..………………………………………. 147
6.1 Определения и организация...…………………………….. 147
6.2 Характеристики и структура аппаратуры каналов связи …............................................................................................ 149
6.2.1 Линии связи ……………………………………………. 149
6.2.2 Канал связи и его характеристики.........…………… 150
6.3 Сопряжение ЭВМ с каналами связи.....…………………. 154
6.4 Особенности программных средств телеобработки.….. 156
Вопросы и задания для самопроверки.…………………………... 158
Глава седьмая
Вычислительные сети ………………………………………….. 160
7.1 С чего все начиналось...…………………………………... 160
7.2 Эффект сетевой обработки.......………………………….. 162
7.3 Характеристики сети...…………………………………….. 163
7.4 Модель ЭВМ, работающей в сети.....……………………. 164
7.5 Способы с средства коммутации и передачи данных.... 174
7.6 Основные концепции управления потоками данных.…. 178
7.7 Принципы построения больших сетей на основе протоколов сетевого уровня....…………………………………….. 183
7.7.1 Принцип построения больших сетей.................... 184
7.7.2 Принципы маршрутизации................................... 187
7.7.3 Определение понятия «маршрутизация» и
классификация алгоритмов маршрутизации............................. 190
7.8 Глобальные сети..…………………………………………... 194
7.8.1 Архитектура глобальной сети.……………………… 196
7.8.2 Типы глобальных сетей..…………………………..... 198
7.9 Ощие соображения по защите сети от перегрузок........ 200
Вопросы и задания для самопроверки..................................... 201
Глава восьмая
Локальные вычислительные сети..………………………….. 204
8.1 Принципы построения.…………………………………..... 204
8.2 Моноканалы ……………………………………………........ 207
8.3 Сетевые адаптеры ………………………………………...... 212
8.4 Базовые архитектуры локальных вычислительных сетей............................................................................................…. 216
8.4.1 Архитектура Ethernet...............…………………….. 216
8.4.2 Архитектура Tokin Ring ……………………………... 219
8.4.3 Архитектура FDDI...………………………………….. 223
8.4.4 Развитие архитектуры Ethernet – Fast Ethernet и
100VG-AnyLAN........……………………………………................ 226
8.4.5 Высокоскоростная технология Gigabit Ethernet....…......................................................................................... 230
8.5 Протоколы управления канального уровня...………….. 232
Вопросы и задания для самопроверки..................................... 235
Глава девятая
Функции и архитектуры систем управления сетями........ 237
9.1 Общие задачи управления............................................ 237
9.2 Базовая архитектура системы управления сетями......... 239
9.3 Характеристики моделей управляемых ресурсов в стандартах Internet.................................................................. 241
9.4 Модель управляемого ресурса в стандарте OSI............. 244
9.5 Варианты архитектур систем управления..................... 247
9.6 Контроль и анализ – базовые составляющие систем управления сетями............................................................... 250
9.6.1 Средства мониторинга и анализа............................ 250
9.6.2 Мониторинг локальных сетей................................. 253
Вопросы и задания для самопроверки..................................... 254
Глава десятая
Основы теории вычислительные систем и массового обслуживания..............................……………………………………. 256
10.1 Предмет и задачи теории.......................………………. 256
10.1.1 Задачи синтеза..................................................... 257
10.1.2 Задачи анализа..................................................... 259
10.1.3 Задачи идентификации модели и системы............. 260
10.2 Модели и методы их исследования.......……………….. 262
10.2.1 Модели................................................................ 262
10.2.2 Марковские методы исследования моделей.......... 263
10.2.3 Потоки событий................................................... 268
10.2.4 Уравнения Колмогорова....................................... 270
10.3 Некоторые элементы теории массового обслуживания 273
10.3.1 Уравнение равновесия.......................................... 274
10.3.2 Процессы размножения и гибели.......................... 276
10.4 Виды моделей массового обслуживания.................... 279
10.4.1 Структура системы массового обслуживания....... 280
10.4.2 Статистические модели........................................ 282
10.4.3 Имитационные модели......................................... 285
10.4.4 Экспериментальные методы................................. 287
10.4.5 Марковские модели программы............................ 288
10.5 Практические методы оценки функционирования...... 290
10.5.1 Организация оценки функционирования............... 290
10.5.2 Методы и средства измерений контролируемых
параметров............................................................................. 290
Вопросы и задания для самопроверки..................................... 294
Глава одиннадцатая
Некоторые аспекты проектирования и эксплуатации вычислительных систем.…………………………………………....... 296
11.1 Организация проектирования.................................... 296
11.2 Системотехническое проектирование........................ 298
11.3 Эксплуатация............................................................ 305
Вопросы и задания для самопроверки.................................... 308
Заключение ………………………………………………………. 310
Литература........................................................................ 312
Алфавитный указатель..................................................... 313
Vestigia simper adora
Чти всегда
следы прошлого
Предисловие
Современный человек наверняка, в той или иной степени, имеет какое-то понятие о вычислительной машине. Хотя бы о том, что существуют такие устройства, как персональные компьютеры. Но многие не знают, как она (вычислительная машина) выполняет команды человека и те или иные действия, связанные с вычислениями, логическими задачами, поиском информации. Для чего, и как объединяют несколько машин, или частей машин в комплексы или системы. Какие при этом получают преимущества или недостатки, с какими сталкиваются трудностями. Этим и многим другим вопросам, связанным с использованием ЭВМ в нашей жизни посвящена эта книга.
Мы не зря в качестве эпиграфа этой книги выбрали знаменитое латинское выражение. Творцы, назовем так мыслящих людей, давших нам основы знаний во всех областях жизни, составляя свои умозаключения, всегда основывались на уже имеющихся сведениях и жизненном опыте и развивали их дальше. Аксиомой является утверждение: «не зная прошлого, не осмыслишь настоящее». И если вы, читатель, внимательно будете читать эту книгу, то воочию еще раз убедитесь, что жизнь развивается по спирали. Вот почему мы выбрали такую последовательность изложения материала в этой книге, как она вам представлена.
С каждой, из вновь разрабатываемых вычислительных систем, начиная с первой электронной вычислительной машины, связано появление новой некоей основополагающей идеи. И не важно, была ли она полностью реализована или нет. Но она получала свое развитие в последующих разработках вычислительных средств и систем, и этот процесс привел к тому результату, который мы имеем на сегодняшний день.
В данной книге и показан этот эволюционирующий процесс развития на примерах от появления первых архитектур вычислительных машин до архитектур современных вычислительных систем и вычислительных сетей.
Развитие, как известно, идет по спирали – все повторяется, но непременно на новом уровне, в новом качестве. Это учтено и в данной книге. Обратите внимание на 5 и 6 главы, где описываются современные архитектуры вычислительных систем. Вы увидите их сходство с архитектурами, появляющимися на начальном этапе развития вычислительных средств, так называемой, классикой. Она отчетливо прослеживается и в перспективе развития. Несомненно, это новые подходы, новые технологии, но, извините за несколько грубое сравнение, - обувь все время имеет подошву, верх, каблук и запятник, как в старые добрые времена, но, несомненно, лучшие форму и качество. Так же и с вычислительными системами.
Пользователя вычислительной машины (непрофессионального) в первую очередь интересует круг задач, доступных для решения на ней. Более подготовленного пользователя интересуют уже более сложные вопросы, такие, как возможности операционной системы, возможности организации диалогового режима, организация работы с файлами, языки программирования и т.п. В меньшей степени или вообще не интересуют такие вопросы как элементная и технологическая база, организация технического обслуживания, структура отдельных устройств машины и много других.
В книге рассмотрен комплекс проблем, относящихся к общим вопросам проектирования ЭВМ. Таким, например, как структурные особенности машины связаны с возможностями, предоставляемыми пользователю, на основе каких критериев принимаются те или иные решения при проектировании машин, как связаны между собой характеристики отдельных устройств, входящих в состав машины и как они влияют на ее общие характеристики.
Структура ЭВМ, ее свойства и характеристики, определяются общепринятым понятием архитектура ЭВМ, так какоснову любой машины составляют технические средства, взаимодействующие под управлением комплекса программ. Поскольку технические средства постоянно совершенствуются сравнительно быстрыми темпами, постольку происходит и дальнейшее развитие архитектур (понимай - структур) вычислительных машин.
Современные машины сильно отличаются по своей архитектуре от «прошлых», а попытки сохранить в какой-то мере заранее выбранную структуру, были бы тормозом для дальнейшего развития вычислительной техники. С другой стороны в сохранении структурной совместимости заинтересованы сами разработчики, поскольку этого требуют пользовательские интересы, связанные с разработкой предметных программ. Но проблема в связи с этим не имеет остроты, так как для составления пользовательских программ используются проблемно-ориентированные языки высокого уровня, для которых структура вычислительной машины не играет
особой роли, по крайней мере, в общем, плане и для «обычного пользователя»
Трудно бывает разобраться в современных процессах, не зная их историю или предысторию, поэтому авторы попытались проследить за развитием архитектур вычислительных средств в некоторой хронологической последовательности, начиная от первой ЭВМ и до наших дней. Современная вычислительная техника любого назначения и применения зиждется на конгломерате идей, выработанных и сформулированных миллионами их разработчиков.
Настоящее время, наряду с другими признаками, характеризуется резким, с каждым годом увеличивающимся, объемом собираемых и обрабатываемых данных. Увеличение масштабов обработки за счет применения вычислительной техники ведет к возрастанию эффекта такой обработки. Для «переваривания» таких масштабов данных требуются крупномасштабные системы. Такие системы можно создавать за счет повышения мощности ЭВМ или объединения многих ЭВМ в вычислительные комплексы и сети. Комплексирование средств вычислительной техники позволяет создавать широкую номенклатуру высокопроизводительных отказоустойчивых систем обработки данных и реализуется как одно из перспективных направлений развития вычислительной техники
Появление вычислительных сетей явилось логическим продолжением развития компьютерных технологий. Сегодня вычислительные сети продолжают быстро развиваться. В них стала обрабатываться несвойственная ранее вычислительным системам информация – голос видеоизображения, рисунки.
Методы проектирования и эксплуатации вычислительных комплексов, систем и сетей разрабатываются в рамках теории вычислительных систем. При этом термин «вычислительная система» охватывает и вычислительные и управляющие и информационно-измерительные системы, построенные на основе, как отдельных ЭВМ, так и многомашинных и многопроцессорных комплексов и вычислительных сетей. Характерной чертой теории вычислительных систем является системотехнический подход к исследованиям. Основным принципом системотехники является представление системы как совокупности всех ее частей в тесной связи с окружающей средой, взаимозависимость всех свойств системы, таких, как производительность, надежность, стоимость. Поэтому в теории вычислительных систем технические и программные средства рассматриваются во взаимосвязи и в совокупности определяют свойства всей системы.
В виду огромной сложности объектов, характерным для системотехнического подхода в вычислительной технике можно считать ограничение глубины рассмотрения процессов, их организации и функционирования таких элементов систем, как процессоры, каналы ввода-вывода, запоминающие и периферийные устройства, ЭВМ, многомашинные и многопроцессорные комплексы, а тем более сети ЭВМ. В данном учебнике основное внимание уделено изучению архитектуры вычислительных систем – общей логической организации систем, определяющей процессы обработки данных и включающей в себя методы представления данных, состав, назначение и принципы взаимодействия технических средств и программного обеспечения. Несколько меньше внимания уделено метрической теории, исследующей влияние организации и функционирования на производительность, надежность, стоимость и другие характеристики систем.
Некоторая дань отдана введению в теорию массового обслуживания и управления ресурсами вычислительных систем.
Материалы, собранные в этой книге воедино, вы можете найти в многочисленных изданиях технической литературы и учебниках. Мы постарались обработать и скомпоновать их таким образом, чтобы сформировался единый учебный курс по дисциплине «Архитектура вычислительных систем», который имеется в образовательных программах ВУЗов, но не существует в виде самостоятельного учебника. Таким образом, выполнена работа по устранению этого пробела.
При ознакомлении или при изучении данного учебника обращайте внимание на терминологию. Мир меняется и развивается, меняется и развивается терминология. Особенно это заметно в таком научном направлении, как информатика, где, по сути дела, нет устоявшейся терминологии. Употребляются термины общепринятые, вошедшие в лексикон специалистов и имеющие место в литературных источниках, и новые, отражающие текущее развитие информатики в настоящее время. Имеется достаточное число толковых профессиональных словарей по информатике, но за ними мы плохо следим, и поэтому, единства в использовании терминов нет. А посему, внимательно следите за контекстом, чтобы не упустить правильного понимания существа изложения. В целом, книга предназначена для студентов специальностей «Информатика и вычислительная техника», а также для всех тех, кому небезынтересно, на чем зиждутся (основываются) современные информационные технологии.
Приятного вам чтения и успехов в ваших творческих устремлениях!
Глава первая
Основные определения
Архитектура (architecture) – это концепция (некие принципы) взаимосвязей элементов сложной структуры. Это понятие вбирает в себя компоненты (состав, совокупность) логической, физической и программной структур.
Логический компонент архитектуры (logical structure) определяет логическую организацию данных в виде многочисленных видов записей и связей между ними.
Физическая структура (physical structure) – это представление компьютера или сети в виде взаимосвязанных аппаратных средств.
Программная структура (programm structure) представляется общей схемой программы.
Архитектура вычислительной системы (computing architecture) представляет собой общую логическую организацию вычислительной системы, которая определяет процесс обработки данных, а так же включает методы кодирования данных, систему команд, состав и структуру компонентов, принципы взаимодействия технических средств и программного обеспечения.
При рассмотрении многих жизненно важных процессов в различных структурах, принципиальным является системный подход, в соответствии с которым любая структура, представляющая собой совокупность взаимосвязанных объектов (элементов), функционирует как единое целое для достижения общей цели. Такие структуры и называют системами. Характерным для такой совокупности объектов является изменение их состояний, происходящих с течением времени в результате взаимодействия в различных процессах внутри себя и с внешней средой.
В жизни существует огромное многообразие систем, но для всех без исключения важно обязательное соблюдение некоторых принципов:
- поведение отдельных объектов системы рассматривается только с позиций функционирования всей целостной их совокупности, на основе общей структуры – принцип эмерджентности (целостности) системы;
- внутренние и внешние связи должны обеспечить устойчивое функционирование системы и достижение общей цели, иначе это не будет являться системой;
- система должна обладать адаптивностью (способностью приспосабливаться) к изменениям внешней среды и обеспечить ее управляемость, посредством соответствующих управляющих воздействий на ее элементы.
Желательным принципом системы можно считать возможность ее обучаемости путем изменения ее структуры в соответствии с изменением целей системы.
1.1 Определение систем обработки данных. Способы построения
Для всех видов вычислительных средств, независимо от их назначения, структуры и размеров, глобальной задачей является обработка данных. Ибо, только когда данные обработаны путем сравнения их с предыдущими значениями, тогда мы можем сделать вывод, к чему привели новые значения, как они изменились в сторону увеличения или уменьшения, быстро или медленно, только тогда мы получаем информацию, на основе которой можем принять какое-то решение. Напомним, что данные представляют собой отдельные факты (значения), характеризующие объекты, процессы и явления предметной области, а также их свойства. При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:
- данные, как результат измерений и наблюдений;
- данные на материальных носителях информации (таблицы, протоколы, справочники);
- модели (структуры) данных в виде диаграмм, графиков, функций;
- базы данных на машинных носителях информации.
При этом средства обработки данных представляют собой совокупности технических средств и программного обеспечения, образующие системы, предназначенные для информационного обслуживания пользователей и технических объектов, независимо от режимов и цели обработки. Все они получили общее название - системы обработки данных. Неважно, какая архитектура лежит в их основе - отдельная электронная вычислительная машина (ЭВМ) или, определенным образом скомплексированный конгломерат. Это очень удачное, емкое по содержанию название для случая, когда речь идет об общих концепциях, присущих всем видам архитектур. Мы тоже будем им пользоваться для таких случаев.
Примерами систем обработки данных являются вычислительные системы для решения научных, инженерно-технических, планово-экономических и учетно-статистических задач, автоматизированные системы управления предприятиями и отраслями хозяй-ства, системы автоматизированного проектирования, системы автоматизированного или автоматического управления технологическим оборудованием и техническими объектами, информационно-измерительные системы, системы телеобработки и вычислительные сети различных топологий и размеров.
Основой систем обработки данных являются технические средства, так как их производительностью и надежностью в наибольшей степени определяется их эффективность.
В итоге, мы будем рассматривать с вами архитектуры систем обработки данных.
С момента появления первой вычислительной машины было разработано огромное, можно сказать об этом без преувеличения, число различных вычислительных систем, имеющих самые различные структуры, как по составу, схемам соединений, так и по организации. Разобраться в этой массе систем не так-то просто. Поэтому кажется естественным желание каким-то образом упорядочить и классифицировать составляющие этого множества. Исторически первыми, до сих пор массовыми и широко распространенными, являются одномашинные системы обработки данных, построенные на базе единственной ЭВМ с однопроцессорной структурой. К настоящему времени накоплен значительный опыт их проектирования, включая программное обеспечение, что уже не вызывает принципиальных трудностей.
Вычислительные комплексы. Начиная с 1960-х годов, для повышения надежности и производительности стали создавать многомашинные вычислительные комплексы, связывая между собой несколько ЭВМ.
Взгляните на рисунок 1.1, схематически представляющий первые варианты многомашинных комплексов, связь между машинами которых (для простоты выбраны две ЭВМ) обеспечивалась через общие внешние запоминающие устройства, например, накопитель на жестких магнитных дисках – НМД (внизу рисунка в середине между ЭВМ). Могут использоваться накопители на магнитных лентах и работающие на других принципах. Все они обеспечивают доступ к общим наборам данных. Такая связь называется косвенной и оказывается эффективной только в том случае, когда ЭВМ взаимодействуют достаточно редко, например, при отказе одной из них или в моменты начала и окончания обработки данных. Более оперативное и продуктивное взаимодействие в таких системах достигается за счет связи между машинами, обеспечивающей возможность взаимного управления через систему прерываний и обмен командами и данными. За счет этого создаются хорошие условия для координации процессов обработки данных, и повышается оперативность обмена данными, что позволяет вести параллельную обработку и существенно увеличить производительность системы.