Реконфигурация » History » Version 10
krufter_multiclet, 07/11/2014 03:32 PM
| 1 | 1 | krufter_multiclet | h1. Реконфигурация |
|---|---|---|---|
| 2 | 1 | krufter_multiclet | |
| 3 | 4 | krufter_multiclet | +*Введение*+ |
| 4 | 2 | krufter_multiclet | |
| 5 | 2 | krufter_multiclet | *Мультиклеточное ядро* — это группа идентичных процессорных блоков(2 и более), объединенных полносвязной однонаправленной коммутационной средой. |
| 6 | 2 | krufter_multiclet | Процессорный блок в мультиклеточной архитектуре называется клеткой. Набор команд, который она может выполнять определяется конкретной реализацией и не зависит от архитектуры. |
| 7 | 2 | krufter_multiclet | |
| 8 | 2 | krufter_multiclet | Т.к. код не зависит от количества клеток, которым он будет исполняться, появляется способность мультиклеточного ядра к распределению своих вычислительных ресурсов во время работы, при этом управление происходит программно. |
| 9 | 2 | krufter_multiclet | Способность мультиклеточной архитектуры перераспределять свои ресурсы мы называем — *реконфигурацией*. Например, клетки мультиклеточного ядра могут быть, как угодно распределены для выполнения какого-либо алгоритма или его части. Группа (лучше названия пока не придумали) — это часть клеток мультиклеточного ядра, которые связаны между собой для выполнения какого-либо алгоритма или части алгоритма. В группе может находиться 1 и более клеток. Когда мультиклеточное ядро разделяет группу на части — это называется декомпозиция. Процесс объединения в группу — композиция. |
| 10 | 8 | krufter_multiclet | !rcfg.jpg! |
| 11 | 9 | krufter_multiclet | На рисунке С0 - С3 это клетки. |
| 12 | 5 | krufter_multiclet | Больше теории по архитектуре можно почитать тут http://habrahabr.ru/post/226773/ |
| 13 | 2 | krufter_multiclet | |
| 14 | 4 | krufter_multiclet | +*Теория*+ |
| 15 | 2 | krufter_multiclet | |
| 16 | 3 | krufter_multiclet | *Реконфигурация* — способность клеток процессора к композиции (сбор) и декомпозиции (разбор) по группам, т.е. возможность клеток объединяться в группы от одной клетки и до N(для N клеточного процессора) и выполнять свой участок кода. По умолчанию при старте любой программы все клетки находятся в одной группе. Стоит отметить, что у каждой группы появляется свой набор РОНов, индексных, управляющих регистров, можно назначить свой обработчик прерываний. |
| 17 | 10 | krufter_multiclet | |
| 18 | 10 | krufter_multiclet | Для совершения операций по реконфигурации клеток используются два системных регистра: NEWADDR, ICR. |
| 19 | 10 | krufter_multiclet | Рассмотрим регистр NEWADDR: |
| 20 | 10 | krufter_multiclet | Регистр предназначен для формирования адреса перехода на следующий параграф для группы клеток. |
| 21 | 10 | krufter_multiclet | |номер бита|63...36|35|34|33|32|31...0| |
| 22 | 10 | krufter_multiclet | |описание|резерв|C0|C1|C2|C3|NEWADDR| |
| 23 | 10 | krufter_multiclet | |
| 24 | 10 | krufter_multiclet | В битах C0-C3 необходимо отметить клетки группы для которых назначается адрес перехода. |
| 25 | 10 | krufter_multiclet | NEWADDR - адрес параграфа на который будет переход выбранной группы. |
| 26 | 10 | krufter_multiclet | |
| 27 | 10 | krufter_multiclet | Рассмотрим регистр ICR: |
| 28 | 10 | krufter_multiclet | Регистр предназначен для формирования групп клеток. |
| 29 | 10 | krufter_multiclet | |номер бита|63...36|35|34|33|32|31...4|3|2|1|0| |
| 30 | 10 | krufter_multiclet | |описание|резерв|C0|C1|C2|C3|резерв|C0|C1|C2|C3| |