Реконфигурация » History » Version 14
krufter_multiclet, 07/11/2014 04:47 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 | 11 | 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 | 11 | krufter_multiclet | Рассмотрим регистр *ICR*: |
28 | 1 | krufter_multiclet | Регистр предназначен для формирования групп клеток. |
29 | 1 | krufter_multiclet | |номер бита|63...36|35|34|33|32|31...4|3|2|1|0| |
30 | 11 | krufter_multiclet | |описание|резерв|C0_Г|C1_Г|C2_Г|C3_Г|резерв|C0|C1|C2|C3| |
31 | 11 | krufter_multiclet | |
32 | 11 | krufter_multiclet | В битах C0_Г - C3_Г необходимо отметить клетки формируемой группы. |
33 | 11 | krufter_multiclet | В битах С0 - С3 необходимо выставить соответствующим клеткам группы разрешение работы. |
34 | 11 | krufter_multiclet | |
35 | 11 | krufter_multiclet | +Примечание:+ важно заметить, что если будет выставлена "1", например в поле C0_Г, а в поле С0 будет |
36 | 11 | krufter_multiclet | установлено значение "0", то клетка будет полностью отключена до следующей перезагрузки процессора. |
37 | 11 | krufter_multiclet | Поэтому в большинстве случаев значение С0_Г - С3_Г совпадает со значение битов C0 - C3 |
38 | 11 | krufter_multiclet | |
39 | 14 | krufter_multiclet | +Реконфигурация в принципе состоит из двух при декомпозиции и трёх параграфов при композиции:+ |
40 | 13 | krufter_multiclet | |
41 | 11 | krufter_multiclet | 1) В первом параграфе необходимо выставить в PSW биты 7,8 для группы клеток с которыми необходимо провести операции |
42 | 11 | krufter_multiclet | композиции и декомпозиции. |
43 | 11 | krufter_multiclet | - Бит 7 системного регистра PSW позволяет группе клеток заявить о готовности к реконфигурации. |
44 | 11 | krufter_multiclet | - Бит 8 системного регистра PSW запрещает выборку следующего параграфа, пока не выполняться команды текущего параграфа. |
45 | 1 | krufter_multiclet | |
46 | 14 | krufter_multiclet | 1+) При композиции необходимо сделать для группы которую мы присоединяем ещё один параграф без адреса перехода. |
47 | 14 | krufter_multiclet | |
48 | 14 | krufter_multiclet | 2)Во втором параграфе необходимо сформировать группы клеток и назначить адреса перехода для каждой новой группы. |
49 | 14 | krufter_multiclet | |
50 | 14 | krufter_multiclet | |
51 | 14 | krufter_multiclet | Т.е. выбрали группу для реконфигурации, сформировали новые группы и задали адреса. Затем новые группы независимо друг от друга пойдут |
52 | 14 | krufter_multiclet | по своим параграфам. При это у каждой группы появится своя набор РОНов, управляющих регистров, обработчиков прерываний и т.д. |
53 | 14 | krufter_multiclet | Но при этом любая группа клеток может беспрепятственно обращаться к памяти или периферии. |
54 | 14 | krufter_multiclet | |
55 | 14 | krufter_multiclet | +Композиция+ |
56 | 14 | krufter_multiclet | |
57 | 14 | krufter_multiclet | Группы клеток могут быть объединены в новую группу. При это те клетки, которые были присоединены к текущей группе из которой и проходил процесс |
58 | 14 | krufter_multiclet | композиции приобретут полный набор РОНов, управляющих регистров, обработчиков прерываний и т.д от группы клеток к которой они присоединились. |
59 | 14 | krufter_multiclet | |
60 | 14 | krufter_multiclet | *Особенности реконфигурации* |
61 | 14 | krufter_multiclet | |
62 | 14 | krufter_multiclet | В первых двух ревизиях процессора R1 присутствуют некоторые особенности процесса реконфигурации. |
63 | 14 | krufter_multiclet | |
64 | 14 | krufter_multiclet | |
65 | 14 | krufter_multiclet | |
66 | 14 | krufter_multiclet | |
67 | 14 | krufter_multiclet | |
68 | 14 | krufter_multiclet | |
69 | 14 | krufter_multiclet | |
70 | 14 | krufter_multiclet |