Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект 17 страниц.doc
Скачиваний:
14
Добавлен:
15.06.2014
Размер:
826.37 Кб
Скачать

Лекция-22

В начальном состоянии все Yi равны 0. На ПЭ с интервалом 2 такта, в порядке возрастания i, подают слева Xi и справа Yi. В самих процессорных устройствах Xi и Yi перемещаются соответственно вправо и влево, с интервалом в 1 такт. Элементы A ленточной матрицы перемещаются сверху вниз. В ПЭ поступившие значения X и A перемножаются, а результаты суммируются с поступившим значением Y. Такие операции циклически повторяются и с выхода ПЭ1, через каждые 2 такта, выдаются значения Yi в порядке возрастания i. Если ширина ленточной матрицы M, то все рачёты завершаются через 2M+N тактов, N = p+q-1. При обычных вычислениях потребовалось бы MN тактов.

Транспьютеры

Факторы, определяющие производительность машины:

  1. Время переключения вентилей.

  2. Расстояние между устройствами.

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

Inmos  первый разработчик транспьютеров. В это же время был разработан язык программирования Okkam.

Транспьютеры относятся к классу RISC-процессоров (выполнение команды за 1 такт). Система команд ориентирована на поддержку языка высоко уровня Okkam  язык параллельных программ.

Программа на Okkam представляет собой совокупность асинхронных, совместно протекающих и взаимодействующих процессов. Под процессом понимается ход исполнения программы или её фрагмента. Взаимодействие между процессами реализуется путём обмена данными по принципу “рандеву” (через канал).

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

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

Процессор транспьютера состоит из 32- или 16- разрядного CPU, интерфейса внешней памяти, двух или четырёх двунаправленных каналов (линков), таймера, программируемого блока событий, внутреннего ОЗУ (4 Кб). Некоторые модели содержат 64-разрядный процессор с плавающей точкой и интерфейсы для подключения HDD, дисплеев, сетевых карт...

Центральный процессор

Центральный 32-разрядный процессор работает на частоте до 30 МГц. Аппаратный планировщик CPU организует в режиме разделения времени одновременное выполнение нескольких процессов.

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

Центральный процессор содержит два регистра таймера. Высокоприоритетный регистр инкрементируется каждую мкс, а низкоприоритетный  каждые 64 мкс.

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

Регистры общего назначения A, B, C образуют регистровый стек с FIFO режимом ;-) (A  вершина. Операнды помещаются в A и происходит смещение A  B, B  C; результат операции формируется в регистре A).

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

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

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

Выполнение операций с плавающей точкой, распознавание команд и передача их на выполнение осуществляется аппаратно в CPU, там же выполняется вычисление адресов операндов и загрузка их в FPU, который также содержит три регистра A, B, C. После передачи команды на исполнение в FPU CPU продолжает выполнение потока команд, если команда относится к первому классу или ожидает результат выполнения, если команда относится ко второму классу.