Использование отклонения частного показателя от максимального. 2 страница

Конфликты в конвейере команд.................................................................. 418

Методы решения проблемы условного перехода..................................... 423

Предсказание переходов............................................................................. 425

Суперконвейерные процессоры................................................................. 445

Архитектуры с полным и сокращенным набором команд...................................................... 447

Основные черты RISC-архитектуры ........................................................... 448

Регистры в RISC-процессорах.................................................................... 449

Преимущества и недостатки RISC ............................................................. 452

Суперскалярные процессоры................................................................................................. 453

Особенности реализации суперскалярных процессоров.......................... 458

Аппаратная поддержка суперскалярных операций.................................... 461

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

Глава 10. Параллелизм как основа

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

Уровни параллелизма.............................................................................................................. 477

Параллелизм уровня задания....................................................................... 478

Параллелизм уровня программ.................................................................... 480

Параллелизм уровня команд........................................................................ 481

Метрики параллельных вычислений ...................................................................................... 481

Профиль параллелизма программы............................................................ 481

Ускорение, эффективность, загрузка и качество......................................... 483

Закон Амдала............................................................................................................................ 486

Закон Густафсона..................................................................................................................... 488

Классификация параллельных вычислительных систем....................................................... 490

Классификация Флинна................................................................................ 490

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

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

систем ................................................................................................................... 493

Память с чередованием адресов............................................................................................ 494

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

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

Модели архитектур распределенной памяти.............................................. 499

Мультипроцессорная когерентность кэш-памяти................................................................... 501

Программные способы решения проблемы когерентности....................... 501

Аппаратные способы решения проблемы когерентности.......................... 502

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

Глава 12. Топологии вычислительных систем................................................................ 524

Метрики сетевых соединений................................................................................................. 527

Функции маршрутизации данных............................................................................................. 528

Перестановка................................................................................................. 529

Тасование...................................................................................................... 529

Баттерфляй................................................................................................... 530

Реверсирование битов.................................................................................. 531

Сдвиг.............................................................................................................. 531

Сеть ILLIAC IV............................................................................................... 531

Циклический сдвиг........................................................................................ 532

Статические топологии............................................................................................................ 532

Линейная топология..................................................................................... 533

Кольцевые топологии................................................................................... 533

Звездообразная топология .......................................................................... 534

Древовидные топологии............................................................................... 535

Решетчатые топологии................................................................................. 536

Полносвязная топология.............................................................................. 537

Топология гиперкуба ................................................................................... 537

Топология k-ичного п-куба........................................................................... 539

Динамические топологии ........................................................................................................ 540

Блокирующие и неблокирующие многоуровневые сети............................ 540

Шинная топология........................................................................................ 541

Топология перекрестной коммутации («кроссбар»)................................... 542

Коммутирующие элементы сетей с динамической топологией................. 543

Топология «Баньян»..................................................................................... 544

Топология «Омега» ..................................................................................... 545

Топология «Дельта»..................................................................................... 546

Топология Бенеша........................................................................................ 547

Топология Клоша.......................................................................................... 548

Топология двоичной n-кубической сети с косвенными связями................ 549

Топология базовой линии ............................................................................ 549

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

Глава 13. Вычислительные системы класса SIMD.......................................................... 552

Векторные и векторно-конвейерные вычислительные системы........................................... 553

Понятие вектора и размещение данных в памяти ..................................... 553

Понятие векторного процессора.................................................................. 554

Структура векторного процессора................................................................ 556

Структуры типа «память-память» и «регистр-регистр».............................. 560

Обработка длинных векторов и матриц....................................................... 561

Ускорение вычислений................................................................................. 561

Матричные вычислительные системы.................................................................................... 563

Интерфейсная ВМ......................................................................................... 565

Контроллер массива процессоров .............................................................. 565

Массив процессоров ............................................................................................................... 566

Ассоциативные вычислительные системы............................................................................. 571

Вычислительные системы с систолической структурой......................................................... 572

Классификация систолических структур...................................................... 574

Топология систолических структур.............................................................. 575

Структура процессорных элементов............................................................ 577

Пример вычислений с помощью систолического процессора................... 578

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

длины (VLIW)................................................................................................................ 580

Вычислительные системы с явным параллелизмом команд (EPIC)..................................... 582

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

Глава 14. Вычислительные системы класса MIMD......................................................... 586

Симметричные мультипроцессорные системы..................................................................... 587

Архитектура SMP-системы........................................................................... 589

Кластерные вычислительные системы................................................................................... 593

Классификация архитектур кластерных систем........................................... 594

Топологии кластеров..................................................................................... 597

Системы с массовой параллельной обработкой (МРР)......................................................... 600

Вычислительные системы с неоднородным доступом к памяти........................................... 603

Вычислительные системы на базе транспьютеров................................................................ 606

Архитектура транспьютера........................................................................... 607

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

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

Глава 15. Потоковые и редукционные

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

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

от потока данных.......................................................................................................... 614

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

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

Статические потоковые вычислительные системы..................................... 620

Динамические потоковые вычислительные системы.................................. 622

Макропотоковые вычислительные системы................................................ 628

Гиперпотоковая обработка........................................................................... 629

Вычислительные системы с управлением вычислениями по запросу.................................. 632

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

Заключение............................................................................................................................. 637

Список литературы............................................................................................................... 638

Алфавитный указатель........................................................................................................ 653

Введение

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

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

В государственном образовательном стандарте высшего профессионального образования содержание дисциплины «Организация ЭВМ и систем» определено следующим образом:

· основные характеристики, области применения ЭВМ различных классов;

· функциональная и структурная организация процессора;

· организация памяти ЭВМ;

· основные стадии выполнения команды;

· организация прерываний в ЭВМ;

· организация ввода-вывода;

· периферийные устройства;

· архитектурные особенности организации ЭВМ различных классов;

· параллельные системы;

· понятие о многомашинных и многопроцессорных вычислительных системах;

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

Авторы стремились к достижению трех целей:

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

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

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

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

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

Третья глава является основой для понимания принципов функционирования вычислительных машин с классической фон-неймановской архитектурой. На примере гипотетической ВМ прослеживается взаимодействие узлов вычислительной машины в ходе выполнения типовых команд. Приводится описание языка микропрограммирования как средства формальной записи вычислительных процессов на уровне архитектуры ВМ.

Четвертая глава отведена принципам организации системы коммуникаций между элементами структуры ВМ. Дается понятие системной шины. Рассматриваются способы синхронизации и арбитража устройств, подключенных к шине.

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

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

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

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

В девятой главе излагаются вопросы, касающиеся архитектуры процессоров вычислительных машин. Дается понятие конвейера команд, обсуждаются принципы организации такого конвейера и проблемы, возникающие при его реализации. Особое внимание уделяется конфликтам в конвейере команд и способам борьбы с ними. Поясняется концепция суперконвейеризации. Рассматривается проблема семантического разрыва и способы его преодоления в ВМ с архитектурами CISC и RISC. Глава завершается изложением концепции суперскалярного процессора.

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

В одиннадцатой главе рассматриваются два основных принципа организации памяти ВС: общая (совместно используемая) память и распределенная память. Рассказывается об особенностях различных моделей как той, так и другой памяти. Значительное внимание в главе уделено вопросам когерентности кэш-памяти.

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

В тринадцатой главе сосредоточен материал по системам, которые согласно классификации Флинна можно отнести к системам класса SIMD. Несмотря на достаточную расплывчатость границ того или иного класса, допускаемую классификацией в схеме Флинпа, в учебнике к SIMD-системам отнесены: векторные и векторно-конвейерные ВС, матричные ВС, ассоциативные ВС, вычислительные системы с систолической структурой и ВС с командным словом сверхбольшой длины.

В четырнадцатой главе рассматриваются системы класса MIMD. К таким в учебнике отнесены симметричные мультипроцессорные системы (SMP), кластерные ВС, системы с массовым параллелизмом (МРР), ВС на базе транспьютеров, системы с неоднородным доступом к памяти, ВС с обработкой по принципу волнового фронта.

В пятнадцатой главе описываются системы с нетрадиционным способом управления вычислительным процессом: потоковые и макропотоковые ВС, а также вычислительные системы с управлением по запросу. Именно особенность управления вычислениями предопределила выделение этих систем в отдельную группу, хотя в принципе их можно трактовать как варианты систем класса MIMD. В главе рассматривается также концепция гиперпотоковых вычислений; впрочем, изложение данного вопроса было бы уместно и в девятой главе.

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

Вот, пожалуй, и все. Насколько удалась эта работа — судить вам. уважаемый читатель.

Благодарности

Прежде всего, наши слова искренней любви родителям.

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

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

Хочется отметить особо значимую роль руководителя проекта Юрия Суркиса, благодаря незаурядным профессиональным качествам которого и состоялось данное издание. Авторы искренне признательны всем талантливым сотрудникам издательства «Питер».

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

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты [email protected] (издательство «Питер», компьютерная редакция). Мы будем рады узнать ваше мнение!

На веб-сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1

Становление и эволюция

цифровой вычислительной

техники

Изучение любого вопроса принято начинать с договоренностей о терминологии. В нашем случае определению подлежат понятия вычислительная машина (ВМ) и вычислительная система (ВС). Сразу же оговорим, что предметом рассмотрения будут исключительно цифровые машины и системы, то есть устройства, оперирующие дискретными величинами. В литературе можно найти множество самых различных определений терминов «вычислительная машина» и «вычислительная система». Причина такой терминологической неопределенности кроется в невозможности дать удовлетворяющее всех четкое определение, достойное роли стандарта. Любая из известных формулировок песет в себе стремление авторов отразить наиболее существенные, по их мнению, моменты, в силу чего не может быть всеобъемлющей. В подтверждение этого тезиса приведем несколько определений термина «вычислительная машина», взятых из различных литературных источников[1]. Итак, вычислительная машина — это:

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

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

3. Устройство, способное:

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

· быть свободно перепрограммируемым в соответствии с требованиями пользователя;

· выполнять арифметические вычисления, определяемые пользователем;

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

Не отдавая предпочтения ни одной из известных формулировок терминов «вычислительная машина» и «вычислительная система», тем не менее воспользуемся наиболее общим их определением [33], условившись, что по мере необходимости смысловое их наполнение может уточняться.

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

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

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

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

Определение понятия «архитектура»

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

Под архитектурой вычислительной машины обычно понимается логическое построение ВМ, то есть то, какой машина представляется программисту. Впервые термин «архитектура вычислительной машины» (computer architecture) был употреблен фирмой IBM при разработке машин семейства IBM 360 для описания тех средств, которыми может пользоваться программист, составляя программу на уровне машинных команд. Подобную трактовку называют «узкой», и охватывает она перечень и формат команд, формы представления данных, механизмы ввода/вывода, способы адресации памяти и т. п. Из рассмотрения выпадают вопросы физического построения вычислительных средств: состав устройств, число регистров процессора, емкость памяти, наличие специального блока для обработки вещественных чисел, тактовая частота центрального процессора и т. д. Этот круг вопросов принято определять понятием организация или структурная организация.

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

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

Вычислительная машина как закопченный объект являет собой плод усилий специалистов в самых различных областях человеческих знаний. Каждый специалист рассматривает вычислительную машину с позиций стоящей перед ним задачи, абстрагируясь от несущественных, по его мнению, деталей. В табл. 1.1 перечислены специалисты, принимающие участие в создании ВМ, и круг вопросов, входящих в их Использование отклонения частного показателя от максимального. 2 страница - student2.ru

 
  Использование отклонения частного показателя от максимального. 2 страница - student2.ru

компетенцию.

Круг вопросов, рассматриваемых в данном курсе, по большей части относится к компетенции системного архитектора и охватывает различные степени детализации ВМ и ВС. В принципе таких уровней может быть достаточно много, однако сложившаяся практика ограничивает их число четырьмя уровнями (рис. 1.1).

Наши рекомендации