Автор: Пользователь скрыл имя, 17 Декабря 2011 в 21:30, курсовая работа
Спрос на компьютеры, работающие с все более и более высокой скоростью, не прекращается. Астрономы пытаются воспроизвести всю историю Вселенной с момента большого взрыва и до сегодняшнего дня. Фармацевты хотели бы разрабатывать новые лекарственные препараты с помощью компьютеров, не принося в жертву легионы крыс. Разработчики летательных аппаратов могли бы получать лучшие результаты, если бы вместо строительства огромных аэродинамических труб моделировали свои конструкции на компьютере. Какими бы мощными ни были компьютеры, их возможностей никогда не хватит для решения многих нетривиальных задач, особенно научных, технических и промышленных.
Содержание 2
Введение 3
1 Типы параллелизма в архитектуре ЭВМ 4
1.1. Параллелизм на уровне команд 4
1.2. Параллелизм на уровне процессоров 5
2 Первые компьютеры использовавшие параллелизм 7
1.1. Суперкомпьютер IBM 701 и IBM 704 8
1.2. Суперкомпьютер IBM 709 9
1.3. Суперкомпьютер IBM STRETCH 10
1.4. Суперкомпьютер ATLAS 12
1.5. Суперкомпьютер CDC 6600 13
1.6. Суперкомпьютер CDC 7600 14
1.7. Суперкомпьютер CRAY 1 15
3 Параллелизм в современных компьютерах 19
3.1. Российский суперкомпьютер Ломоносов 21
4 Направление развитий 24
Заключение 26
Список источников 2
Рис
1.2. Фотография компьютера IBM 709.
У IBM 709 были сумматор на 38 битов, регистр фактора множителя на 36 битов, и три регистра декремента на 15 битов. Регистры декремента были своего рода регистром индекса, содержание которого было вычтено из базового адреса вместо того, чтобы быть добавленным к этому.
Данная
модель получилась удивительно удачной,
так как вместе с модификациями
было продано около 400 экземпляров,
причем последний был выключен в
1975 году - 20 лет существования.[1, 2]
1.3. Суперкомпьютер IBM STRETCH
Главным препятствием высокой скорости выполнения команд является необходимость их вызова из памяти. Для разрешения этой проблемы можно вызывать команды из памяти заранее и хранить в специальном наборе регистров. Эта идея использовалась в 1959 году при разработке компьютера Stretch компании IBM, а набор регистров был назван буфером выборки с упреждением. Таким образом, когда требовалась определенная команда, она вызывалась прямо из буфера, а обращения к памяти не происходило.
В 1956 году IBM подписывает контракт с Лос-Аламосской научной лабораторией на разработку компьютера IBM STRETCH. Цель была повысить производительность компьютера в 100 раз больше серии 704. Архитектурные улучшения, таких как широкое использование параллелизма на уровне команд, были необходимы для удовлетворения цели. В 1959 году было начато создания первых IBM Stretch, а массово выпускать стали в 1961 году.
Проект Stretch превзошел достижениями во многих ключевых компьютерных технологиях, в том числе основ памяти, изменение схем транзистор, схема упаковки. В первый раз, многие архитектурные компромиссы были определены. Stretch стал пионером многих инновационных компьютерных архитектур, которые с тех пор стали обычным явлением:
Рис
1.3. Фотография компьютера IBM Stretch.
В
момент выпуска Stretch был самым мощным суперкомпьютером
в мире и сохранил этот пост до 1964 года,
он не оправдал прогнозируемых производительности.[5]
Впервые конвейерный принцип выполнения команд был использован в машине ATLAS (1963 года выпуска), разработанной в Манчестерском университете совместно с Британскими фирмами Ferranti и Plessey. Это был один из первых суперкомпьютеров, которые были самые мощные компьютеры в то время. Атлас был машиной второго поколения, которые использовал транзисторы германия, а не электронные лампы. Главная особенность выполнение команд разбито на 4 стадии: выборка команды, вычисление адреса операнда, выборка операнда и выполнение операции. Конвейеризация позволила уменьшить время выполнения команд с 6 мкс до 1,6 мкс.
Рис 1.4. Фотография компьютера Atlas.
Данный компьютер оказал огромное влияние, как на архитектуру ЭВМ, так и на программное обеспечение: в нем впервые использована мультипрограммная ОС, основанная на использовании виртуальной памяти и системы прерываний, введено такое понятие как программное обеспечение, которое широко применяется сегодня.
1.5. Суперкомпьютер CDC 6600
Фирма Control Data Corporation (CDC) выпускают компьютер CDC 6600, массовое производство которое состоялась 1964 года. Это первый успешный суперкомпьютер, который выигрывает по производительности у своего предшественника IBM Stretch приблизительно в три раза. Производительность около 1 Мфлопса.
CDC 6600 имел всего один центральный процессор, которому ассистировали 10 периферийных процессоров, работавших параллельно. Они брали на себя все операции, связанные с работой с памятью и вводом-выводом. На долю центрального процессора оставались только арифметические и логические операции. Центральный процессор работал с высокой по тем временам частотой 10 МГц. Чтобы он не простаивал на обмене с памятью, каждый из периферийных процессоров получал свои 10% времени и передавал в центральный процессор часть данных – таким образом удавалось согласовать быстрый центральный процессор с медленной памятью. Внутри центрального процессора CDC 6600 имел 10 функциональных блоков, которые могли выполнять работу параллельно. Так впервые был реализован суперскалярный подход к проектированию процессоров.
Рис 1.5. Фотография компьютера CDC 6600.
В CDC 6600 было впервые реализовано оборудование, позволяющее процессору просматривать команды, расположенные далее в потоке команд, и определять, могут ли они быть запущены перед той, что ожидает сохранения результата. Идея аппаратного переупорядочивания команд на конвейере, известная как динамическое планирование (dynamic scheduling), служила поддержанию максимально возможной его загрузки и значительно повысила производительность CDC 6600.
Машина
имела громадный успех на научном
рынке, активно вытесняя машины фирмы
IBM. CDC 6600 был самым быстрым компьютером
в мире до 1969 года.[6, 7]
1.6. Суперкомпьютер CDC 7600
После выхода CDC 6600 фирма Control Data Corporation выпускает CDC 7600 с восемью независимыми конвейерными функциональными устройствами - сочетание параллельной и конвейерной обработки, массовое производство машины началось в 1969 году. Производительность около 10 Мфлопса.
Этот
компьютер был примерно в 12 раз производительнее
своего предшественника. С архитектурной
и технологической точек зрения он во
многом повторял 6600 – та же длина слова,
равная 60, тот же навесной монтаж, но состав
системы команд иной, поэтому полной совместимости
между ними не было и первоначально задуманный
индекс 6800 был заменен на 7600. В процессе
проектирования разработчики осознали,
что наступают новые времена: хотя появляющиеся
микросхемы и более высокочастотные транзисторы
давали возможность поднять производительность
в разы, однако, оставаясь в рамках действующей
суперскалярной парадигмы, добиться радикальных
улучшений было нельзя. В поисках выхода
разработчики пришли к мысли о конвейере,
позволяющем разделить обработку отдельной
инструкции на последовательность независимых
стадий. Это позволяло управляющим схемам
инициировать обработку инструкций с
темпом обработки на самой медленной стадии,
что гораздо быстрее, чем время, необходимое
для выполнения всех стадий сразу. Таким
образом, общее время выполнения команды
равно времени, затрачиваемому самой медленной
фазой (в последующем эта закономерность
получила название закона Амдала). Каждый
момент времени в разных стадиях обработки
находятся несколько инструкций. Теоретически
деление на 10 фаз может на порядок поднять
производительность, но реально конвейерная
обработка дала трехкратное увеличение
по сравнению с 6600. Повышение частоты в
условиях дискретного навесного монтажа
требовало сокращения линий связи, следовательно,
конструкция должна была быть очень плотной.
Крей (ведущий разработчик) предложил
систему модулей, на которых монтировались
сверхминиатюрные триоды, диоды и сопротивления.
Она обеспечивала возможность роста частоты,
но возникали тяжелые проблемы с отводом
тепла. Пришлось применять не слишком
надежную фреоновую систему охлаждения.
В целом машина получилась производительной,
но недостаточно надежной. По данным лабораторий,
где ее использовали, 7600 выходила из строя
по несколько раз на дню. Слава производителя
самого быстрого компьютера едва не обернулась
угрозой финансового краха.[6, 7]
1.7. Суперкомпьютер Cray 1
В 70-х годах бывший сотрудник и один из руководителей фирмы CDC Сеймур Крей организовал собственную фирму, которая занялась проектированием сверхбыстродействующей ЭВМ, известной под названием Cray-1 с быстродействием, превосходящим 150 млн. операций в секунду с широким использованием новой интегральной технологии. Пиковая производительность 133 Мфлопса.
Основная
память машины Cray-1 в отличие от других
высокопроизводительных машин не имеет
иерархическую структуру, она столь быстра
что в такой иерархии отпала необходимость.
Считается, что машина Cray-1 является наиболее
быстродействующей из класса однопроцессорных
систем.
Рис
1.6. Фотография компьютера Cray 1.
Cray-1 относится к классу сверхвысокопроизводительных векторные процессоры. К этому классу относятся также машины Иллиак-IV, STAR-100.
В состав центрального процессора Cray-1 входят:
В машине Cray-1 устройства, выполняющие операции умножения и вычитания, могут работать одновременно, эту процедуру на ней можно запараллелить. Умножить первую компоненту первого вектора на скалярную величину, после этого приступить к выполнению операции вычитания результата из первой компоненты второго вектора, а пока происходит это вычитание, параллельно выполнить операцию умножения скаляра на вторую компоненту первого вектора. Этот механизм, позволяющий совмещать различные арифметические действия, назван цепочкой. В литературе этот принцип организации параллелизма иногда называют конвеерным. Сочетание конвейерного параллелизма с "покомпонентным", по мнению разработчиков машины Cray-1, составляет одну из важных особенностей и достоинств ее структурной организации.
Математическое обеспечение машины Cray-1, так же как и у ее предшественников машин фирмы CDC, "фортранно-ориентировано". Это означает, что в качестве основного входного языка выбран фортран, наиболее интенсивно используемый в научных расчетах. Для машины Cray-1 создан специальный оптимизирующий транслятор со стандартного фортрана, учитывающий специфику этой векторной машины. При некоторых условиях, наложенных на программу, данный транслятор обеспечивает конвеерный параллелизм и готовит объектные программы, эффективно использующие эти возможности машины. Ведутся работы над новой версией транслятора, который будет оптимизировать фортранные программы, составленные без каких-либо ограничений.
В состав математического обеспечения входит также макроассемблер CAL (Cray Assembler Language) и библиотека стандартных программ, составленная на этом языке и ориентированная на использование средств параллельных вычислений, присущих данной машине.
Операционная система COS (Cray Operating System) предназначена для режима пакетной обработки и дистанционной пакетной обработки заданий, полученных с удаленных терминалов. Операционная система рассчитана на мультипрограммную обработку одновременно до 63 активных задач. Для обеспечения работы в режиме дистанционного доступа в качестве машины-сателлита вычислительной системы Cray-1 используется минимашина "Eclipse". С этой машиной связаны внешние каналы центрального вычислителя с помощью специальных сопрягающих устройств. На минимашину возлагаются функции управления приемом-передачей информации, управления линиями связи, т. е. функции процессора передачи данных.
Суперкомпьютер Cray-1 — послужил отправной точкой в развитии не только самой компании, но и всего рынка супер-ЭВМ. Пиковая производительность машины составляла 133 Мфлопс, при этом производительность даже самых дешевых современных процессоров далеко ушла от тех цифр, взять хотя бы 2,4-ГГц Intel Core 2 Duo — этот чип не новый (2006 года) и стоимостью 80 $, выдает целых 19,2 гигафлопса, что в 144 раза больше, чем у Cray-1, стоимость которого составляла в 1977 году почти 9 миллионов долларов.
Компания
Cray оказала огромное влияние на рынок
суперкомпьютеров и на многие отрасли
человеческой жизни. К примеру, без машины
Cray 1 не были бы разработаны некоторые
новые лекарства, мы не увидели бы многих
фильмов с компьютерными спецэффектами,
не были бы произведены многие научные
исследования и открытия.
3 Параллелизм в современных компьютерах
Информация о работе История появления параллелизма в архитектуре ЭВМ