Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Векторные конвейерные процессоры.

Читайте также:
  1. Векторные заповеди
  2. Микропроцессоры Intel 80-х годов. Архитектура iAPX 432. Первые 32-битные процессоры.
  3. МИКРОПРОЦЕССОРЫ. СТРУКТУРА МИКРОПРОЦЕССОРА И ЕГО ОСНОВНЫЕ ХАРАКТЕРИСТИКИ
  4. МИКРОПРОЦЕССОРЫ. СТРУКТУРА МИКРОПРОЦЕССОРА И ЕГО ОСНОВНЫЕ ХАРАКТЕРИСТИКИ
  5. Первые микропроцессоры. i4004, i8008, i8086.
  6. РОТОРНЫЕ И РОТОРНО-КОНВЕЙЕРНЫЕ МАШИНЫ-АВТОМАТЫ

 

Архитектура машины Cray-1

Всего имеется 12 функциональных устройств [4, 8]. Они разделены на группы в зависимости от типа выполняемых ими операций и адресуемых регистров. Выполняют вычисление адресов, логические, скалярные и векторные операции над целыми числами, операции с плавающей запятой над скалярами и векторами. Большинство простых операций центрального процессора выполняется за один такт, который составляет 12.5 нс.

Производительность однопроцессорной машины Cray-1 составляет примерно 100*106 операций с плавающей точкой в секунду (100 Мфлопс). В более новых и более мощных моделях машинах системы Cray, выпускаемых фирмой Silicon Grafics, использовались от 2 до 8 процессоров и производительность составляла от 1 до 2,5 Гфлопс.

С 1998 года фирма Silicon Grafics приступила к выпуску векторной масштабируемой (то есть с изменяемой конфигурацией) суперЭВМ серии Cray SV1. В суперкомпьютере используются векторные процессоры, пиковая производительность которых достигает 4 Гфлопс. Пиковая производительность заключенного в один корпус узла составляет 32 Гфлопс. Общее число процессоров системы может быть больше 1000.

Согласно планам, объявленным компанией, вслед за первым поколением Cray SV1 появится векторный масштабируемый суперкомпьютер второго поколения, пиковая производительность которого составит десятки терафлопс.

Многопроцессорные векторные суперкомпьютеры Cray SV1

Рынок многопроцессорных векторных (векторно-параллельных) суперкомпьютеров достаточно узок. На этом поле «играют» только избранные — прежде всего это американская компания SGI, производящая компьютеры с маркой Cray, и японские NEC и Fujitsu [17]. Все прогнозы об уходе компьютеров этой архитектуры с рынка пока не оправдались. Векторные процессоры NEC SX-5 и Cray SV-1 по-прежнему значительно опережают по производительности вычислений с плавающей запятой самые быстродействующие микропроцессоры. И все же рискну предположить, что доля векторных систем в парке установленных суперкомпьютеров будет постепенно уменьшаться. В то же время сохраняются серьезные задачи, в которых применение векторных систем весьма эффективно.

Сray SV1, последнее поколение векторных систем SGI/Cray, о котором было объявлено еще в 1998 году, можно считать наследником мини-суперкомпьютеров Cray J90, представленных в 1994 году.

Главный козырь SV1 — ее центральный процессор. «Базовые» процессоры SV1 имеют по два векторных конвейера, каждый из которых может выполнять две операции с плавающей запятой за один такт. При тактовой частоте в 250 МГц это дает производительность 1 GFLOPS, что в пять раз выше, чем у 100-мегагерцевого Cray J90, но по-прежнему уступает RISC-микропроцессорам. В 1999 году появилась версия Cray SV1 с 300-мегагерцевым процессором с производительностью уже 1,2 GFLOPS, но и это ниже, чем у некоторых RISC-микропроцессоров.

Однако, из обычных процессоров Cray SV1 можно сконфигурировать так называемые многопоточные процессоры путем объединения четырех стандартных двухконвейерных процессоров в один. При этом все векторные регистры отдельных процессоров становятся общими, число конвейеров становится равным восьми, а пиковая производительность — 4/4,8 GFLOPS для процессоров на 250/300 МГц соответственно.

Вот это уже превышает возможности RISC-микропроцессоров, не перешагнувших границу 2 GFLOPS. Многопоточные процессоры побеждают по производительности также и Cray T90 (1,8 GFLOPS), хотя сильно отстают от японских конкурентов — NEC SX-5 (8 GFLOPS, см. таблицу) и Fujitsu VPP5000 (9,6 GFLOPS). Оценка производительности процессора SV1 на тестах Linpack (536 MFLOPS при N = 100, 996 MFLOPS при N = 1000) подтверждает это соотношение. Не стоит забывать и об отношении стоимоcть/производительность, которое для Cray SV1 очень хорошее.

Известно, что одним из основных преимуществ векторно-параллельных суперкомпьютеров перед многопроцессорными системами на базе «серийных» RISC-микропроцессоров является гораздо более высокая пропускная способность памяти. Резкое повышение производительности центрального процессора при сохранении пропускной способности оперативной памяти в Cray SV1 делает эту характеристику потенциально узким местом. IDC в своем отчете отмечает, что SGI следует работать над увеличением пропускной способности памяти.

Длина строки кэша равна 8 байт, что эквивалентно одному элементу векторного регистра. Если в Cray J90 восемь векторных регистров по 64 элемента в каждом, то есть всего 512 элементов, то емкость векторного кэша SV1 — уже 32К элементов. Однако для оптимизации использования векторного кэша существующие векторные приложения для компьютеров Cray предыдущих поколений должны быть переработаны.

На каждой процессорной плате размещается по четыре процессора, которые разделяют общий интерфейс к оперативной памяти. На процессорной плате имеется также интерфейс к каналу ввода/вывода GigaRing с пропускной способностью 1 Гбайт/с. Шкаф SV1 содержит систему с симметрично-многопроцессорной архитектурой, основанной на коммутаторе 8х8 c конструктивом backplane. Его восемь портов используются для подсоединения восьми процессорных плат, а другие восемь портов — для подсоединения оперативной памяти. Соответственно SMP-система SV1 может масштабироваться до 32 двухконвейерных центральных процессоров. Общее число каналов GigaRing на систему может при этом достигать восьми.

При конфигурировании многопоточных центральных процессоров каждый такой восьмиконвейерный процессор объединяет в себе четыре двухконвейерных — по одному из четырех разных процессорных плат (см. рисунок). Поэтому многопоточный ЦП обменивается данными с ОП сразу через четыре интерфейса ОП, и ПС ОП для такого ЦП составляет 25,6 Гбайт/с.

В обычном шкафу SV1 можно сконфигурировать до шести многопоточных процессоров плюс восемь обычных двухконвейерных. Возможность создания различных смешанных конфигураций, отличающихся числом процессоров разных типов, позволяет точно подстроить конфигурацию SV1 под конкретные особенности задач пользователя. Однако суммарная пиковая производительность SV1 при такой переконфигурации не меняется (до 32/38 GFLOPS при 250/300 МГц соответственно).

Оперативная память SV1 построена по технологии DRAM и имеет емкость от 2 до 32 Гбайт. Она может включать 256, 512 и 1024 банка; соответственно максимальный уровень расслоения (чередования адресов) оперативной памяти, используемого для повышения ее пропускной способности, равен 1024.

Кроме SMP-систем SV1, SGI предлагает также кластеры на их основе. Основным «строительным блоком» кластера являются четырехузловые системы. До восьми таких блоков можно объединить, доведя общее число процессоров до 1024 (192 многопоточных). Это позволяет иметь суперкомпьютерную систему с емкостью оперативной памятью свыше 1 Тбайт и производительностью свыше 1 TFLOPS (отметим, что самые мощные массивно-параллельные системы, в том числе от самой SGI, этот рубеж превзошли еще раньше). Такие высокие характеристики масштабирования векторных многопроцессорных систем — одна из наиболее привлекательных черт Cray SV1, на что указывает и сама аббревиатура SV (Scalable Vector).

Топология кластера может быть различной, но SGI предполагает, что для «маленьких» конфигураций будут чаще использоваться соединения «точка-точка», а для больших — двухмерный тор. Вообще-то Cray SV1 использует воздушное охлаждение, но в кластерных конфигурациях возможно и водяное охлаждение.

Стоимость минимальной конфигурации SV1-1A (восемь двухконвейерных центральных процессоров) составляет 500 тыс. долл., а такой же, но с возможностью расширения SV1-1 — 1 млн. долл. Очевидно, что соотношение стоимость/производительность для таких систем выглядит весьма привлекательно.

Суперкомпьютер Earth Simulator (ES)

Earth Simulator (ES) - мультипроцессорная компьютерная система с распределенной памятью, состоящая из 640 процессорных узлов (PNs), связанных через 640x640 одноступенчатых перекрестных переключателей, образующих внутреннюю высокоскоростную коммутирующую сеть. Каждый PN - система с общей памятью, состоящая из 8 арифметических процессоров векторного типа (APs), оперативной памяти на 16 Гбайт (MS), блока управления удаленного доступа (RCU) и процессора ввода - вывода. Пиковая производительность каждого арифметического процессора (AP) – 8 Gflops. ES в целом, таким образом, состоит из 5120 APs с 10 ТВ оперативной памяти и пиковой производительностью - 40 Tflop/s. На конец 2002 года это - самая высокая производительность в мире.

Каждый арифметический процессор (AP) состоит из суперскалярного модуля (SU), векторного модуля (VU) и модуля управления доступом к оперативной памяти, выполненной на отдельной большой интегральной схеме. Арифметический процессор работает на тактовой частоте 500 MHz. Каждый суперскалярный модуль снабжен суперскалярным процессором с кэшем команд на 64 КБ, кэшем данных на 64 КБ и 128 универсальными скалярными регистрами. Здесь выполняются такие операции, как организация ветвлений, предвыборка данных и восстановление сбойных команд. Векторный модуль состоит из 8 наборов, содержащих по 72 векторных регистра, каждый из которых может иметь до 256 векторных элементов, и по шести типов векторных конвейеров:

сложение/сдвиг, умножение, деление, логические операции, маскировка и загрузка/сохранение. VU и SU поддерживают формат данных с плавающей точкой стандарта IEEE 754.

Блок управления удаленного доступа (RCU) непосредственно связан с внутренней высокоскоростной коммутирующей сетью и управляет двунаправленной передачей данных между узлами со скоростью 12.3GB/s в каждом направлении. Таким образом, полная полоса пропускания сети – 8 TB/s. Несколько режимов передачи данных, включая доступ к трехмерным подмассивам и косвенные режимы доступа, реализованы аппаратными средствами. В операции доступа к данным подмассива, данные перемещаются от одного PN к другому в единой аппаратной операции за относительно короткое время.

Система оперативной памяти (MS) разделена на 2048 банков, и последовательность номеров банков соответствует увеличению адресов слотов в памяти. Поэтому пиковая производительность была получена при обращении к непрерывным данным, расположенным в памяти в порядке возрастания адресов.

Earth Simulator (ES) был разработан как национальный проект Национальным агентством космического развития Японии, Научно-исследовательским институтом атомной энергии Японии и Центром морской науки и технологии Японии. Установлен и введен в эксплуатацию к концу февраля 2002 в Центре моделирования Земли в Йокогаме.

Суперкомпьютер размещен на площади 50x65 m.

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

Операционные системы (ОС) в современном их понимании (их назначении и сущности) появились значительно позже первых компьютеров (правда и, по всей види­мости, исчезнут в этой сущности в компьютерах будущего). Прежде чем давать опреде­ление операционной системе, нужно рассмотреть предпосылки их появления. Почему и когда появились ОС? Считается, что первая цифровая вычислительная машина ENIAC (Electronic Numerical Integrator and Computer) была создана в 1946 году по проекту «Проект РХ» Министерства обороны США1. На реализацию проекта было затрачено 500 тыс. долларов. Компьютер содержал 18000 электронных ламп, массу всякой элект­роники, имел 12 десятиразрядных сумматоров, а для ускорения некоторых арифмети­ческих операций имел умножитель и «делитель-извлекатель» квадратного корня. Про­граммирование сводилось к связыванию различных блоков проводами. Конечно, ника­кого программного обеспечения и тем более операционных систем тогда еще не существовало [4, 37].

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

С появлением полупроводниковых элементов вычислительные возможности компьютеров существенно выросли. Наряду с этим заметно прогрессировали достижения в области автоматизации программирования и организации вычислительных работ. По­явились алгоритмические языки (Алгол, Фортран, Кобол) и системное программное обеспечение (трансляторы, редакторы связи, загрузчики и др.). Выполнение программ усложнилось и включало в себя следующие основные действия:

• загрузка нужного транслятора (установка нужных МЛ и др.);

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

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

• загрузка программы в оперативную память;

• запуск программы;

• вывод результатов работы программы на печатающее или другое периферийное устройство.

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

С целью исключения простоев были предприняты попытки разработки специаль­ных программ - мониторов - прообразов первых операционных систем, которые осу­ществляли автоматический переход от задания к заданию. Считается, что первую опе­рационную систему создала в 1952 году для своих компьютеров IBM-701 исследователь­ская лаборатория фирмы General Motors [8]. В 1955 году эта фирма и North American Aviation совместно разработали ОС для компьютера IBM-704.

В конце 50-х годов прошлого века ведущие фирмы-изготовители поставляли операционные системы со следующими характеристиками:

• пакетная обработка одного потока задач;

• наличие стандартных программ ввода-вывода;

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

• средства восстановления после ошибок, обеспечивающие автоматическую «очи­стку» компьютера в случае аварийного завершения очередной задачи и позволяющие запускать следующую задачу при минимальном вмешательстве оператора;

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

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

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

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

На микроархитектурном уровне находятся внутренние регистры центрального процессора (их может быть несколько) и арифметико-логические устройства со средст­вами управления ими. На этом уровне реализуется выполнение машинных команд. В процессе выполнения команд используются регистры процессора и устройств, а также другие возможности аппаратуры. Команды, видимые для работающего на ассемблере программиста, формируют уровень ISA (Instruction Set Architecture - архитектура сис­темы команд), часто называемый машинном языком.

Операционная система предназначена, для того чтобы скрыть все эти сложности. Конечный пользователь обычно не интересуется деталями устройства аппаратного обеспечения компьютера. Компьютер ему видится как набор приложений. Приложение может быть написано программистом на каком-либо языке программирования. Для уп­рощения этой работы программист использует набор системных программ, некоторые из которых называются утилитами. С их помощью реализуются часто используемые Функции, которые помогают работать с файлами, управлять устройствами ввода-вывода и т. п. Программист использует эти средства при разработке программ, а приложения во время выполнения обращаются к утилитам для выполнения определенных функций. Наиболее важной из системных программ является операционная система, которая ос­вобождает программиста от необходимости глубокого знания устройства компьютера и представляет ему удобный интерфейс для его использования. Операционная система выступает в роли посредника, облегчая программисту, пользователям и программным приложениям доступ к различным службам и возможностям компьютера [4,18].

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

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

Таким образом, операционная среда - это программная среда, образуемая опе­рационной системой, определяющая интерфейс прикладного программирования (API) как множество системных функций и сервисов (системных вызовов), предоставляемых прикладным программам. Операционная среда может включать несколько интерфей­сов прикладного программирования. Кроме основной операционной среды, называе­мой естественной (native), могут быть организованы путем эмуляции (моделирования) дополнительные программные среды, позволяющие выполнять приложения, которые рассчитаны на другие операционные системы и даже другие компьютеры.

Еще одно важное понятие, связанное с операционной системой, относится к ре­ализации пользовательских интерфейсов. Как правило, любая операционная система обеспечивает удобную работу пользователя за счет средств пользовательского интер­фейса. Эти средства могут быть неотъемлемой частью операционной среды, например, графический интерфейс Windows или текстовый интерфейс командной строки MS DOS, а могут быть реализованы отдельной системной программой - оболочкой опера­ционной системы (например, Norton Commander для MS DOS). В общем случае под оболочкой операционной системы понимается часть операционной среды, определяю­щая интерфейс пользователя, его реализацию (текстовый, графический и т. п.), команд­ные и сервисные возможности пользователя по управлению прикладными программа­ми и компьютером.

Перейдем к рассмотрению эволюции операционных систем.


Дата добавления: 2015-12-08; просмотров: 168 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.012 сек.)