Project

General

Profile

Реконфигурация » History » Version 10

« Previous - Version 10/23 (diff) - Next » - Current version
krufter_multiclet, 07/11/2014 03:32 PM


Реконфигурация

Введение

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

Т.к. код не зависит от количества клеток, которым он будет исполняться, появляется способность мультиклеточного ядра к распределению своих вычислительных ресурсов во время работы, при этом управление происходит программно.
Способность мультиклеточной архитектуры перераспределять свои ресурсы мы называем — реконфигурацией. Например, клетки мультиклеточного ядра могут быть, как угодно распределены для выполнения какого-либо алгоритма или его части. Группа (лучше названия пока не придумали) — это часть клеток мультиклеточного ядра, которые связаны между собой для выполнения какого-либо алгоритма или части алгоритма. В группе может находиться 1 и более клеток. Когда мультиклеточное ядро разделяет группу на части — это называется декомпозиция. Процесс объединения в группу — композиция.
реконфиг_пример
На рисунке С0 - С3 это клетки.
Больше теории по архитектуре можно почитать тут http://habrahabr.ru/post/226773/

Теория

Реконфигурация — способность клеток процессора к композиции (сбор) и декомпозиции (разбор) по группам, т.е. возможность клеток объединяться в группы от одной клетки и до N(для N клеточного процессора) и выполнять свой участок кода. По умолчанию при старте любой программы все клетки находятся в одной группе. Стоит отметить, что у каждой группы появляется свой набор РОНов, индексных, управляющих регистров, можно назначить свой обработчик прерываний.

Для совершения операций по реконфигурации клеток используются два системных регистра: NEWADDR, ICR.
Рассмотрим регистр NEWADDR:
Регистр предназначен для формирования адреса перехода на следующий параграф для группы клеток.
номер бита 63...36 35 34 33 32 31...0
описание резерв C0 C1 C2 C3 NEWADDR

В битах C0-C3 необходимо отметить клетки группы для которых назначается адрес перехода.
NEWADDR - адрес параграфа на который будет переход выбранной группы.

Рассмотрим регистр ICR:
Регистр предназначен для формирования групп клеток.
номер бита 63...36 35 34 33 32 31...4 3 2 1 0
описание резерв C0 C1 C2 C3 резерв C0 C1 C2 C3