4 страниц

Вирабян Э.В.

    (Государственный инженерный университет армении  ГИУА)

ПЕРСЕПТРОННОЕ ПРЕДСКАЗАНИЕ ВЕТВЛЕНИЙ

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

          Ключевые слова: метод предсказания, перцептрон, предиктор.

Биологический нейрон имеет вид показанный на рис. 1. В 1943 году бы­ла предложена модель биологического ней­ро­на (рис.2), как уст­ройс­т­во, которое имеет несколько входов (входные си­нап­сы-дентриты) и один вы­ход (выходной синапс-аксон). Дентриты полу­ча­­ют информацию из ин­фор­мационных источников (рецепторы) Li, ис­точ­ником информации мо­гут служить нейроны. Набор входных сигналов {Li} описывает обьект, его сос­тояние. На каждый i-ый вход j-ого нейрона по­да­­ется некоторый ве­со­вой коэ­фициент Iij, который описывает активацию во­здействия сигнала это­го вхо­­да на аргумент функции, чем и решается вы­ходной сигнал Yj  ней­­ро­на. В нейроне происходит сложение весов вход­ных сигналов и по­лу­­чен­ное значение используется как аргумент функ­ции активирующий ней­рон.

Рис. 2. Модель нейрона Макаловка и Пита

 

 

 

Yj=F(Ij)

 

 

I1j

I2j

I3j

1

0

Yj

Дентрит

Сома

Аксон

Рис. 1.Структура биологоческого нейрона

 

 

 

 

 


На рис. 3 представлена графическая модель перцептрона. Пер­цепт­­рон описы­ва­ет­ся как вектор, в котором элементы являются весами–це­­лые числа. Выход пер­цепт­ро­на y опре­де­ля­ется следующим выра­же­ни­­ем: . Если y≥0, то предск­а­зы­ва­ет­ся, что переход будет (taken), если y<0 – перехода не бу­­дет (not taken).

Рис. 4. Общая схема перцептронного предиктора

 

 

Таблица перцептронов

Адрес команды перехода

Регистр предистории

Результат

перехода

Обучение

 > 0

Опреде­ление y

Выбранный перцептрон

Предсказание

Выбор входа

На рис. 4 преведена общая схема пер­цепт­ронного пред­с­ка­зания. Пер­­­­­­­цепт­рон содержит таблицу N перцепт­ро­нов осу­щест­влен­ная на SRAM быстродействующей памяти, которая по­хо­­жа на двух­бит­ные счет­чи­­ки других предикторов.  

 

Рис. 3. Модель перцептрона

 

. . .

. . .

w0

w1

w2

wi

wn

1

  x1

xi

xn

y

x2

 

 

 

 

 

 

 

 


Когда процессор на стадии выборки команды конвейера встречает ко­­­­­­ман­­ду перехода происходят следующие шаги: адреса команд пере­хо­дов распределяются в соответствии своим ин­­дек­­сом i  0…N-1 с ин­дек­са­­ми персептронов в таблице; i-ый перцептрон из таблицы выбирается в ре­­гистр векторов весов (P0...n); значение y определяетсяскалярным про­из­ведением P0...n и ре­гист­ром глобальной истории; переход считается не вы­полненным, если y отрицательный, и вы­пол­ненным – в противном слу­чае; когда становится известен результат перехода, алгоритм обу­че­ния ис­пользует этот новый результат, и y обновляет веса P; P за­пи­сы­ва­ет­­ся в i-ый элемет таблицы. На рис. 5 представлена перцептронная схе­ма предсказания. Рассмотрим пример, для которого весовой вектор предс­тавляет из себя 4 4-разрядных регистра, ghr таке 4-разрядный (рис. 6). Для обучения пер­­цептрона используется следующий алгоритм. Пред­­положим t=-1, если перехода не было, и t=1, если переход про­изо­шел  (то есть t–ре­зуль­тат ветвления, который или произошел или не про­и­­­зо­­шел).Предположим так же, что θ порог, в случае которого ал­го­ритм обу­че­­­­ния начнет работать и определит, где необходимо произ­вес­ти обу­че­ние.

 

Рис. 5. Блок-схема перцептронного предсказания

 

y

Результат предсказания

W0

W1

W3

W2

1

0

-w1

1

0

-w2

1

0

-w3

CSA

X1

X3

X2

Перцептроны из BTB

GHR

1

 


if sign(y) ≠ t or |y| ≤ θ then

      for i := 0 to n do

                    wi := wi + txi

      end for

end if

 

 

 

Рис. 6. Блок-схема обучения перцептрона

Результат предсказания

 

1

0

1

0

1

0

GHR

w1-1

==

==

==

Результат предсказания

Запись в BTB

w3-1

w1+1

w2+1

w3+1

w2-1

1

0

w0-1

w0+1

1

X1

X3

X2

W0

W1

W3

W2

Поскольку t и xi всегда равны “–1” или “1”, этим алгоритмом i-ый вес уве­­­л­­ичивается, когда результат перехода равен входу, и уменьшается, ес­ли не равны. Вес имеет большое влияние на предсказание. Когда меж­­­­ду входом и выходом есть слабая связь вес остается равен “0” и он име­ет маленькое действие на выход перцептрона. Обучение схемы про­ис­­­­ходит по той же логике. Результат предсказания сравнивается с ин­фор­­­мацией записанной в GHR. Если они равны, то к каждому весу при­бав­ляется “1” -  Wi+1, в противном случае отнимается “1” - Wi–1. Пос­ле че­го обнавленная информация записывается в BTB.

 

 

 

 

 

 

 

 

 

 

 

 

 

На рис. 7 и 8 представлены соответственно организация схем обучения перцептрона и блок-схема.

 

 

 

 

Рис. 7. Организация схемы перцептронного предсказания

1

t

24

0

1

2

3

4

5

6

7

8

9

10

11

0

1

2

3

0

1

2

3

4

5

6

7

8

9

10

11

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cout

S

A

B

Cin

Cout

S

Sum0

Sum1

Sum2

Sum3

Sum4

Sum5

1

x1

x2

x3

=1

=1

=1

=1

4

19

5

6

7

19

19

19

=1

=1

=1

=1

8

21

9

10

11

21

21

21

=1

=1

=1

=1

13

14

15

23

23

23

12

23

19

21

23

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

0a

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

RG

RG

RG

RG

RG

0

1

2

3

0

1

2

3

C

R

0

1

2

3

0

1

2

3

C

R

0

1

2

3

0

1

2

3

C

R

0

1

2

3

0

1

2

3

C

R

S1

S0

DR

0

1

2

3

DL

 

R

0

1

2

3

20

21

22

23

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

t

Предсказание

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cin

Cout

S

A

B

Cout

S

                  

 

 

 

 

 

 

 

 

 

 

 

В BTB

В BTB

Рис. 8. Организация схемы обучения перцептронов

1

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

0

1

2

3

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

0

1

2

3

0

1

2

3

4

5

6

7

A

x00

x10

x20

x30

x01

x11

x21

x31

 

 

 

 

y0

y1

y2

y3

0

1

2

3

4

5

6

7

0

24

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

8

9

10

11

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

8

9

10

11

0

1

2

3

4

5

6

7

A

x00

x10

x20

x30

x01

x11

x21

x31

 

 

 

 

y0

y1

y2

y3

0

1

2

3

4

5

6

7

0

24

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

4

5

6

7

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

4

5

6

7

0

1

2

3

4

5

6

7

A

x00

x10

x20

x30

x01

x11

x21

x31

 

 

 

 

y0

y1

y2

y3

0

1

2

3

4

5

6

7

0

20

24

= =

18

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

12

13

14

15

C0

A0

B0

A1

B1

A2

B2

A3

B3

S0

S1

S2

S3

C4

“1”

12

13

14

15

0

1

2

3

4

5

6

7

A

x00

x10

x20

x30

x01

x11

x21

x31

 

 

 

 

y0

y1

y2

y3

0

1

2

3

4

5

6

7

0

24

22

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

= =

= =

 

 

 

 

 

 

 

 

 

 

 

 

 


Литература

1.                 И.В.Бескоровайный, “Динамическое предсказание переходов с использанием расширенной глобальной истории”, Сборник научных трудов, 2005, с.3-18.

2.                 Dynamic Branch Prediction using Machine LearningAlgorithms

Kedar Bellare, Pallika Kanani and Shiraj SenDepartment of Computer Science,University of Massachusetts Amherst, 2006