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

Автор работы: Пользователь скрыл имя, 03 Июня 2013 в 12:23, контрольная работа

Описание работы

Транспьютеры. Связной список процессов.

1. Предлагается детально изложить наиболее важные вопросы (архитектура, основные компоненты, функционирование) конкретной системы.
2. Составление модели вычислительной системы заданной структуры.

Содержание работы

1. Введение.
2. Понятие транспьютера и канала связи.
3. Объединение транспьютеров в группы.
4. Архитектура транспьютера.
5. Вычислительные системы с массовой параллельной обработкой.
6. Связной список процессов.
7. Заключение
8. Список используемых источников.
9. Приложение 1 модель вычислительной системы на базе транспьютеров Т-800

Файлы: 1 файл

контрольная_работа_.doc

— 237.50 Кб (Скачать файл)

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

 

 

 4. Объединение  транспьютеров  в  группы.

 

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

иерархической или смешанной.

На базе транспьютеров можно  легко построить различные виды вычислительных систем (ВС). Четыре канала связи обеспечивают построение двумерного массива, где каждый транспьютер связан с четырьмя ближайшими соседями. Возможно объединение транспьютеров в группы с последующим соединением групп между собой. Если группа состоит из двух транспьютеров, то для подключения ее к другим группам остаются свободными 6 каналов связи (рис. 13.1, а). Комплекс из трех транспьютеров также оставляет свободными 6 каналов (рис. 13.1, б), а для связи с «квартетом»  транспьютеров  остаются  еще  4  канала  связи  (рис. 13.1, в).

Особенности транспьютеров потребовали разработки для них специального языка программирования Occam. Название языка связано с именем философа-схоласта XIV века Оккама – автора концепции «бритвы Оккама»: «entia praeter necessitatem non sunt multiplicanda» – «понятия не должны умножаться без необходимости». Язык обеспечивает описание простых операций пересылки данных между двумя точками, а также позволяет явно указать на параллелизм при выполнении программы несколькими транспьютерами. Основным понятием программы на языке Occam является процесс, состоящий из одного или более операторов  программы,  которые  могут  быть  выполнены  последовательно  или

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

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

В транспьютерах второго поколения (Т9000) существенно повышена производительность и улучшены каналы связи. Главная особенность транспьютеров второго поколения – развитые коммуникационные возможности, хотя в вычислительном плане, даже несмотря на наличие в них блоков для операций с плавающей запятой, они сильно уступают универсальным микропроцессорам Power PC  и  Pentium.

 

 

 

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

 

Основным признаком, по которому ВС относят к архитектуре с массовой параллельной обработкой (MPP, Massively Parallel Processing), служит количество процессоров n. Строгой границы не существует, но обычно при  считается, что это  уже MPP, а при  – еще нет. Обобщенная структура MPP-системы показана  на  рис. 13.4.

 

Главные особенности, по которым ВС причисляют к классу MPP, следующие:

 

1.        стандартные   микропроцессоры;

2.        физически   распределенная  память;

3.        сеть соединений  с высокой пропускной способностью и малыми задерж-ками;

4.        хорошая   масштабируемость  (до  тысяч   процессоров);

5.        асинхронная  MIMD-система  с  пересылкой  сообщений;

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

 

В RM1000 используются микропроцессоры  типа MIPS. Каждый узел со-держит процессор R4400, сетевую карту Ethernet и два канала ввода/вывода типа SCSI. Реализованный  вариант включает в себя 192 узла, но сеть соединений предусматривает  масштабирование до 4096 узлов. Каждый узел имеет коммуни-кационный компонент для подключения к соединяющей сети, организованной   по топологии двумерной решетки. Связь с решеткой поддерживается схемами маршрутизации с четырьмя двунаправленными линиями для связи с соседними узлами и одной линией для подключения к данному процессорному узлу. Ско-рость  передачи  информации  в  каждом  направлении – 50 Мбит/с.

Каждый узел работает под управлением  своей копии операционной сис-темы, управляет «своими» периферийными  устройствами и обменивается с дру-гими узлами путем пересылки сообщений по сети соединений. Операционная система содержит средства для повышения надежности и коэффициента го-товности.

При создании MPP-систем разные фирмы  отдают предпочтение различным микропроцессорам и топологиям сетей соединений

 

 

 

 

 

 

6. Связной список процессов

 

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

имеет микропрограммный планировщик, который производит распределение времени между ними. В любой момент времени параллельные процессы делятся на два класса: активные процессы (выполняются или готовы к выполнению) и неактивные процессы (ожидают ввода-вывода или определенного времени). Активные процессы, ожидающие выполнения, помещаются

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

указывает на первый процесс в списке, а другой − на последний.

Состояние процесса, готового к выполнению, сохраняется в его рабочей области. Состояние определяется двумя словами − текущим значением указателя инструкций и указателем на рабочую область следующего процесса в планировочном списке. Команда транспьютера start process создает новый активный процесс, добавляя его в конец планировочного списка. Перед выполнением этой команды в A-регистр вычислительного стека должен быть загружен указатель инструкций этого про-

цесса, а в B-регистр − указатель его рабочей области. Команда start process позволяет новому параллельному процессу выполняться вместе с другими процессами, которые транспьютер об-

рабатывает в данное время. Команда end process завершает текущий процесс, убирая его из планировочного списка. В Оккаме конструкция PAR может закончиться только тогда, когда завершатся все ее компоненты параллельного процесса. Каждая команда start process

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

(необходимо учитывать как активные, так и неактивные процессы). При обработке параллельных процессов на самом деле присутствует не один, а два планировочных списка − список высокого приоритета и список низкого приоритета. Процессы с низким приоритетом могут выполняться только тогда, когда список высокого приоритета пуст, что должно быть его нормальным состоянием.

Коммутации между  параллельными процессами осуществляются через каналы. Для организации этого обмена используются команды транспьютера input message и output message. Эти команды используют адрес канала, чтобы установить, является он внутренним (в том же транспьютере) или

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

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

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

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

 

 

 

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

 

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

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

 

Транспьютеры успешно использовались в различных областях от встроенных систем до суперЭВМ. Однако технология транспьютеров серьезного развития не получила, так как начиная с Pentium Pro в универсальные микропроцессоры введена возможность соединения процессоров в микропроцессорную систему, что обесценило главное преимущество транспьютеров - возможность построения многопроцессорных систем без дополнительных аппаратных затрат.

В настоящее время транспьютеры не производятся, будучи вытесненными похожими разработками конкурентов, особенно Texas Instrument (TMS320) и Intel (80860). Принято считать, что концепция транспьютеров оказала заметное влияние на развитие микропроцессорной техники 80/90-х годов. Так, термин линк (link) - физический канал связи между параллельно работающими процессорами - пришёл из транспьютеров, а протокол транспьютерного линка стал стандартом IEEE.

 

 

 

 

 

8. Список используемых источников.

 

 

1. Корнеев В.В. Вычислительные системы. М. Гелиос АРВ, 2004.

 

 2. Шнитман В.З., Кузнецов С.Д. Аппаратно-программные платформы корпоративных информационных систем. http://www.citforum.ru..

 

3. Ясинский Ф.Н., Чернышева Л.П. Многопроцессорные вычислительные системы.           Архитектура.  Математическое моделирование. Учебное пособие. Иваново, ИГЭУ, 1998 г. – 108 с.

 

4. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. – М.: Издательский дом «Вильямс», 2003. – 512 с.

 

 

 

 

 

 

 

 

 

Приложение 1

модель вычислительной системы на базе транспьютеров Т-800

 

Архитектура семейств Т-2, Т-4, Т-8

Транспьютеры относятся к классу RISC- процессоров. Система команд транспьютеров  ориентирована на поддержку языка  высокого уровня -ОККАМ (OCCAM). Это язык параллельного программирования, позволяющий задавать параллельные вычисления в соответствии с моделью взаимодействующих последовательных процессов (CSP). Программа на языке ОККАМ представляет собой совокупность асинхронных совместно протекающих взаимодействующих процессов, выполняющихся асинхронно и параллельно. Под процессом понимается ход исполнения программного кода некоторой программы или фрагмента программы. Взаимодействие между процессами реализуется путем обмена данными по принципу "рандеву". В транспьютере данная модель параллельных вычислений поддерживается благодаря наличию аппаратно-реализованного диспетчера, обеспечивающего выполнение параллельных процессов в режиме квантования времени. Причем количество одновременно выполняемых процессов не ограничено.

Мультипроцессорная система на базе транспьютеров представляет собой совокупность транспьютеров, соединенных линиями связи (непосредственно или через коммутатор).

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

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

В зависимости от модели, транспьютер состоит из 32- или 16-разрядного центрального процессора, интерфейса внешней памяти, 2 или 4 двунаправленных каналов - линков, программируемого блока событий (Event), таймера, внутреннего ОЗУ емкостью 2 или 4 Кбайт, блока режимов работы линков, блока системных функций. Некоторые модели могут содержать 64-разрядное устройство операций с плавающей точкой и (или) интерфейсные схемы внешних устройств, такие как НЖМД, ЭЛТ, сетевой адаптер. (Контроллеры внешних устройств обычно выполняются на кристалле вместо двух линков).

Информация о работе Архитектура вычислительных систем