41
АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09: Нейрокомпьютеры и современные процессоры ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н., Ассистент Волканов Д.Ю.

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

Embed Size (px)

Citation preview

Page 1: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ

Лекция 09: Нейрокомпьютеры и

современные процессоры

ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК

Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н.,

Ассистент Волканов Д.Ю.

Page 2: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

2

План лекции

• Биологический нейрон

• Модель нейровычислений

• Проблемы организации

• Примеры

• Современные микропроцессоры

– Машины фон-Неймана

– Потоковые машины (dataflow)

• Intel Core i7 (Nehalem)

• E2

Page 3: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

3

Что такое нейрокомпьютер?

• Вычислительня система с MSIMD архитектурой

• Процессорный элемент упрощён до уровня нейрона

• Резко усложнены связи между элементами

• Программирование перенесено на изменение весовых коэффициентов связей между элементами

Page 4: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

4

Биологический Нейрон

• Мозг содержит 10 миллиардов нейронов

• Тысячи типов нейронов соединены между собой

• 100 триллионов связей

• Нейрон может находиться, либо в спокойном, либо возбуждённом состоянии

• Порог перехода

Page 5: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

5

Математическая модель нейрона

Рисунок 1. Математическая модель

нейрона

Page 6: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

6

Имитатор Нейрона

x1

x2

x3

xd

w1

w2

w3

wd

∑ wi . xi

Функция f(x) y

входной

массив

X=(x1,x2,...,xd)

вектор весов

W =(w1,w2,w3,....,wd)

Сумма входов

вектора X с весами

W

“Выход y”

Page 7: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

7

Примеры функций

Page 8: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

8

Многоуровневая нейронная сеть

.

.

.

x1

x2

x3

xd

Featu

re V

ecto

r

.

.

.

.

.

.

.

.

Входной уровень Скрытый уровень

Выходной уровень

Page 9: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

9

Проблема обучения

• Обучение с готовыми ответами

• Обучение без ответов

Page 10: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

10

Применение нейронных сетей

• Управление в реальном времен

• Распознавание образов

• Прогнозирование в реальном времени

• Оптимизация

• Обработка сигналов при наличии больших шумов

• Протезирование

• Психодиагностика

Page 11: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

11

Варианты построения нейрокомпьютеров

• На основе обычных процессоров

• На основе DSP процессоров

• На специализированной аппаратной базе

Page 12: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

12

Характеристики

• CUPS (connections update per second) - число измененных значений весов в секунду (оценивает скорость обучения).

• CPS (connections per second) - число соединений (умножений с накоплением) в секунду (оценивает производительность).

• CPSPW = CPS/Nw, где Nw - число синапсов в нейроне.

• CPPS - число соединений примитовов в секунду, CPPS=CPS*Bw*Bs, где Bw, Bs - разрядность весов и синапсов.

• MMAC - миллионов умножений с накоплением в секунду.

Page 13: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

13

Особенности DSP процессоров

• Аппаратная поддержка программных циклов, кольцевых буферов

• Один или несколько операндов извлекаются из памяти в цикле исполнения команды

• Нет команд R,R->R

• Реализация однотактного умножения и команд, использующих в качестве операндов содержимое ячеек памяти

Page 14: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

14

Особенности DSP процессоров (2)

• Сложение и умножение требуют:

– произвести выборку двух операндов

– выполнить сложение или умножение (обычно и то и другое)

– сохранить результат или удерживать его до повторения

• Множественный доступ к памяти за один и тот же командный цикл.

Page 15: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

Процессор NM6403

• 50 Mhz

• RISC ядро

32-битные данные

32-битные операции

8 + 8 регистров

• Векторное устройство

Переменная разрядность

До 2048 параллельных умноженей

Page 16: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

16

RISC-ядро

• 5-ти ступенчатый 32-разрядный конвейер; • 32- и 64-разрядные команды (обычно выполняется две

операции в одной команде); • Два адресных генератора, адресное пространство - 16 GB; • Два 64-разрядных программируемых интерфейса с

SRAM/DRAM-разделяемой памятью; • Формат данных - 32-разрядные целые; • Регистры: • 8 32-разрядных регистров общего назначения; • 8 32-разрядных адресных регистров; • Специальные регистры управления и состояния; • Два высокоскоростных коммуникационных порта

ввода/вывода, • Аппаратно совместимых с портами TMS320C4x.

Page 17: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

17

VECTOR-сопроцессор

• Переменная 1-64-разрядная длина векторных операндов и результатов;

• Формат данных - целые числа, упакованные в 64-разрядные блоки, в форме слов переменной длины от 1 до 64 разрядов каждое;

• Поддержка векторно-матричных и матрично-матричных операций;

• Два типа функций насыщения на кристалле;

• Три внутренних 32x64-разрядных RAM-блока

Page 18: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

18

Производительность

• Скалярные операции: – 5 0 MIPS; – 200 MOPS для 32-разрядных данных;

• Векторные операции:

– от 50 до 50.000+ MMAC (миллионов умножений с накоплением в секунду);

• I/O и интерфейсы с памятью: – пропускная способность двух 64-разрядных

интерфейсов с памятью - до 800 Мбайт/сек;

• I/O коммуникационные порты - до 20 Мбайт/сек кажд

Page 19: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

19

Особенности NM64003 (1)

• Возможность работы с входными сигналами (синапсами) и весами переменной разрядности (от 1 до 64 бит), задаваемой программно, что обеспечивает уникальную способность нейропроцессора увеличивать производительность с уменьшением разрядности операндов;

• Быстрая подкачка новых весов на фоне вычислений;

• (24 операции умножения с накоплением за один такт при длине операндов 8 бит);

• V аппаратная поддержка эмуляции нейросетей большой размерности;

• Реализация функции активации в виде пороговой функции или функции ограничения;

Page 20: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

20

Особенности NM64003 (2)

• Наличие двух широких шин (по 64 разряда) для работы с внешней памятью любого типа: до 4Мб SRAM и до 16 Гб DRAM;

• Наличие двух байтовых коммуникационных портов ввода/вывода, аппаратно совместимых с коммуникационными портами TMS320C4x для реализации параллельных распределенных вычислительных систем большой производительности.

• Возможность работать с данными переменной разрядности по различным алгоритмам, реализуемым с помощью хранящихся во внешнем ОЗУ программ

Page 21: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

Системы на NM 6403

• MC431 – однопроцессорная плата

• NM4 – четырехпроцессорная плата

• 6MCBO – 4 платы по 6 процессоров и платы для обработки входных сигналов

Page 22: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

22

Схема нейровычислителя

Page 23: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

23

Нейроускоритель МЦ 4.01

Page 24: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

24

Преимущества нейрокомпьютеров

• Все алгоритмы нейроинформатики высокопараллельны

• Устойчивость нейросистем к помехам и разрушениям

• Устойчивые и надежные нейросистемы могут создаваться и из ненадежных элементов, имеющих значительный разброс параметров

Page 25: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

25

Особенности нейрокомпьютеров

• Массовый параллелизм

• Распределённое представление информации и вычисления

• Способность к обучению и обобщению

• Адаптивность

• Свойство контекстуальной обработки информации

• Толерантность к ошибкам

• Низкое энергопотребление

Page 26: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

26

План лекции

• Современные микропроцессоры

– Машины фон-Неймана

– Потоковые машины (dataflow)

• Intel Core i7 (Nehalem)

• E2

Page 27: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

27

Фон-Нейман vs Dataflow

x = y * a;

z = y + b;

z = z + b;

y = x – z;

a y b

y

* +

+

-

Поток сигналов управления

vs Поток данных

Page 28: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

28

Современные процессоры

• Конвейерная организация – многие сложные действия разбиваются на этапы с небольшим временем выполнения, каждый этап выполняется параллельно;

• Суперскалярная организация - на каждом этапе обрабатываются сразу несколько потоков инструкций в параллель;

• Внеочередное исполнение – операции не обязаны выполняться в ФУ строго в том порядке, который определен в программном коде;

• Спекулятивное выполнение – исполнение инструкций, которые не должны были выполняться (ошибочная ветвь исполнения);

• Предсказание переходов – предсказание программного адреса перехода и направления ветвления.

28

Page 29: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

29

Схема современного процессора

29

Page 30: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

30

Intel Core i7 (Nehalem)

Page 31: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

31

“Кирпичики” Nehalem

Page 32: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

32

Архитектура ядра

Page 33: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

33

Loop Stream Detector

Page 34: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

34

Функциональные устройства

Page 35: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

35

HyperThreading

Page 36: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

36

Иерархия памяти

Page 37: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

37

Микросхема

Page 38: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

38

Потоковые машины

EDGE – Explicit Data Graph Execution

•Основная идея - прямая передача операндов, без записи в регистры;

•Операция выполняется сразу, как доступны все её операнды.

•“Недостатки” современных RISC процессоров

– Много неэффективных и ресурсоемких структур, направленных на построение графа зависимостей по данным;

– Много ресурсоемких операций доступа к регистрам.

38

RISC: ADD R1, R2, R3 EDGE: ADD T1, T2

Page 39: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

39

E2

Особенности:

•Программа разделяется на блоки инструкций (как поток управления), но внутри инструкции исполняются в dataflow режиме;

•Два режима = скалярный + векторный;

•Объединение ядер – физические ядра могут объединяться в логические;

•Cпекулятивное исполнение.

– между блоками;

– внутри блока (предикатное выполнение).

39

Page 40: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

40

Схема E2

40

Page 41: АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 09lvk.cs.msu.su/~dimawolf/ArchEVM/Lection09.pdf · АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция

41

Спасибо за внимание!