mipsfpga_connected_mcu_ru_ua_2016_10_06_rus
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Однодневный семинар по MIPSfpga с избранными местами Nanometer ASIC и Connected MCU
2
Предварительный план
3
Версия от 6 октября 2016
4
5
9:00 - 9:30Кофе, нетворкинг
6
9:30 - 10:45Презентации образовательных инициатив Imagination Technologies и партнеров компании
7
Презентация учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, который сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов.
8
Выдержки из материалов семинара Nanometer ASIC, подготовленного Чарльзом Данчеком, преподавателем University of California Santa Cruz Extension in Silicon Valley. Это обзорный курс, который описывает все этапы проектирования и производства микросхем: создание спецификации, описание цифровой логики на языках описания аппаратуры Verilog и VHDL на уровне регистровых передач, логический синтез, размещение и трассировка, создание фотошаблонов и производство микросхем на фабрике.
9
Описание пакета MIPSfpga, платформы, которая позволяет студентам и университетским исследователям экспериментировать с устройством системы на кристалле, протоколами внутри и вне чипа, интеграцией процессорного ядра с памятью и устройствами ввода-вывода, а также наблюдать работу кэша и конвейера промышленного процессора на плате с ПЛИС.
10
Партнерство Imagination Technologies с компаниями MOSIS и Europractice, предоставляющими университетам возможность разработки микросхем ASIC и производства опытных образцов на фабрике, с разумным для образовательных учреждений бюджетом.
11
Избранные слайды из курса Connected MCU, который подготовил профессор Александр Дин из университета Северной Каролины в сотрудничестве с Imagination и Microchip Technology. Введение в использование микроконтроллеров, организация параллельности на одном процессоре, использование прерываний, таймеров, конечных автоматов реализованных в софтвере, и наконец — введение в RTOS и лабораторное занятие с использованием операционной системы FreeRTOS.
12
10:45 - 11:00Перерыв
13
11:00 - 13:00Обзор микроархитектурных решений процессорных ядер, оптимизированных для различных уровней производительности и энергопотребления
14
Базовая конвейереная организация процессораПримеры: классический конвейер MIPS и современные ядра MIPS оптимизированные на минимальное энергопотребление: microAptiv UC/UP и MIPS M5100/M5150
15
Конфликты конвейера и их разрешение с помощью байпасов (bypass / forwarding)Пример: байпасы в MIPS M5150
16
Длина конвейера у различных процессоров как компромисс между тактовой частотой и количеством тактов на командуПример: сравнение конвейеров MIPS M5150 и M6250
17
Предсказатель переходов для уменьшения количества очисток (flush) длинных конвейеров во время условного переходаПример: предсказатель переходов MIPS 24K
18
Аппаратная поддержка многопоточностиДва варианта многопоточности на примерах MIPS interAptiv и MIPS I6400
19
Суперскалярные процессорыДва варианта суперскалярности на примерах простой суперскалярности MIPS I6400 и внеочередной (out-of-order) в MIPS P6600
20
Векторные расширения, или одиночный поток команд, множественный поток данных (single instruction multiple data, SIMD)Два примера векторных расширений: SIMD в процессорах MIPS I6400 и MIPS P5600, органиченное векторное расширение в DSP ASE в ядре MIPS M5150
21
Введение в кэши. Кэши прямого отображения, многосекционные наборно-ассоциативные кэш, иерархия кэшейПример: кэши микропроцессрного ядра MIPS microAptiv UP, которое используется в пакете MIPSfpga и микросонтроллере Microchip PIC32MZ EF
22
Многоядерные системы. Проблема когерентностей кэшей и памяти. Решение проблемы когерентности - протоколы MESI и подобные.Два подхода к реализации многоядерных кластеров с менеджерами когерентности - snooping (на примере MIPS interAptiv и CM 2.5) и directory-based (на примере MIPS I6400 и CM 3.0)
23
Многокластерные, некогерентные и гетерогентные системыИдея для студенческого проекта: некогерентная сеть из процессорных ядер MIPSfpga
24
13:00 - 14:00Обед
25
14:00 - 17:00Использование платформы MIPSfpga для прототипирования систем на кристалле и экспериментирования с микроархитектурой промышленного встроенного процессора
26
14:00 - 14:15MIPSfpga - введение MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно программы и аппаратуру
27
Сравнение MIPSfpga с Xilinx/ARM Zynq 7000, ARM Design Start, Xilinx MicroBlaze, Xilinx PicoBlaze, Altera NIOS II, RISC/V, OpenRISC, ARM-compatible Amber, OpenSPARC / UltraSPARC T1/T2, LEON4
28
14:15 - 14:45Описание структуры MIPSfpga+ - варианта MIPSfpgaВнешняя оболочка для синтеза, зависимая от платы
29
Структура системы из процессорного ядра, контроллера памяти и периферийных устройств ввода-выводаAHB-Lite как пример параллельной шины, которая применяется для соединения компонентов систем на кристалле
30
Периферийное устройство - датчик освещенияSPI как пример последовательной шины, которая применяется для соединения между различными микросхемами
31
Описание загрузки программы в синтезированную систему через UARTUART как пример последовательной шины, которую можно применять для соединения платы с компьютером
32
Добавление новых инструкций в процессор с помощью интерфейса CorExtend / UDI (User-Defined Instructions)
33
14:45 - 15:00Демонстрации MIPSfpgaДемонстрация симуляции системы MIPSfpga, работы среды тестирования и анализа временных диаграммИспользуемые симуляторы: ModelSim и Icarus Verilog
34
Демонстрация синтеза системы, компиляции примеров программ, конфигурация платы ПЛИС синтезированной системой, загрузка программы в синтезированную систему и совместная работа всех компонентРабота с программами Xilinx Vivado и Altera Quartus II для логического синтеза, размещения и трассировки. Конфигурация плат Digilent Nexys4 DDR и Terasic DE0-CV. Использование среды разработки Codescape.
35
15:00 - 15:15Перерыв
36
15:15 - 17:00Лабораторная работа 1Работа системы на основе MIPSfpga, интегрированной с датчиком освещения
37
Лабораторная работа 2Наблюдение работы кэша в MIPSfpga
38
Лабораторная работа 3Наблюдение работы байпасов конвейера в MIPSfpga
39
40
Дополнение: более развернутая презентация по Connected MCU
41
Если есть дополнительный день или пара часов
42
43
Использование микроконтроллеров для обучения программированию встроенных систем
44
45
9:00 - 10:00Кофе, нетворкинг
46
10:00 - 11:00Презентация курса Connected MCU, разработанном в университете Северной Каролины, в сотрудничестве с Imagination Technologies, Microchip Technology и Digilent (отделения National Instruments)Курс Connected MCU создан для преподавания программирования микроконтроллеров младшим студентам, но на этом курс не останавливается: он содержит введение в более широкие области, включая использования операционных систем реального времени (Real-Time Operating System - RTOS) для встроенных систем, элементы компьютерной арзитектуры и анализа производительности.
47
10:00 - 10:051. Introduction
48
10:05 - 10:102. Software Basics
49
10:10 - 10:153. Peripheral Basics and Port I/O
50
10:15 - 10:204. Basic Concurrency and Interrupts
51
10:20 - 10:255. Analog Interfacing
52
10:25 - 10:306. Timers and Counters
53
10:30 - 10:357. Communications
54
10:35 - 10:408. Other Peripherals
55
10:40 - 10:459. Interfacing with Arduino Shields
56
10:45 - 10:5010. Advanced Concurrency
57
10:50 - 10:5511. Understanding CPU Throughput Performance
58
10:55 - 11:0012. Improving CPU Throughput Performance
59
11:00 - 11:15Перерыв
60
11:15 - 13:00Лабораторная работа 1: Начинаем работать с микроконтроллероной платойРабота со средой разработки Microchip MPLAB X и микроконтроллером PIC32MZ. Порты, интерфейс через GPIO (general-purpose input-output) к LED и кнопкам. Blinking an LED: Lab1_Introduction из Connected MCU.
61
13:00 - 14:00Обед
62
14:00 - 14:30Лабораторная работа 2: Параллельное программирование с помощью прерыванийБолее детальный разбор слайдов с "4. Basic Concurrency and Interrupts" и "6. Timers and Counters". Демо из Connected MCU: Demo4_Basic_Concurrency, Demo4_Basic_Concurrency_Interrupts, Demo4_Basic_Concurrency_Tasks
63
14:30 - 15:00Лабораторная работа 3: Параллельное программирование с помощью прерываний и таймеровFlashing LED with Timer: Demo6_Timers_Flashing_LED, LED Scanner with Timer for Delays: Demo6_Basic_Concurrency_Tasks_Timers
64
15:00 - 16:00Преподавание использования встроенных операционных систем реального времени (Real-Time Operating System - RTOS) Более детальный разбор слайдов с "10. Advanced Concurrency", на примере FreeRTOS:
65
15:00 - 15:20Концепция вытесняющей многозадачности: задачи, состояния задач, приоритеты, переключение контекста
66
15:20 - 15:30Синхронизация задач через семафоры
67
15:30 - 15:40Обмен сообщениями между задачами
68
15:40 - 15:50Мьютексы для организации взаимного исключения
69
15:50 - 16:00Использование прерываний в контексте RTOS
70
16:00 - 16:30Лабораторная работа 4: Параллельное программирование с помощью прерываний, таймеров и операционной системы реального времени, которая их используетLED Scanner with FreeRTOS Tasks: Demo10_Adv_Concurrency_Scan_LEDs; LED Scanner with FreeRTOS Tasks and Semaphores: Demo10_Adv_Concurrency_Scan_LEDs_Sem, Using RTOS Features: Lab10_Adv_Concurrency
71
16:30 - 17:00Заключение дня, вопросы и ответы
72
73
Другие идеи дополнений
74
75
Аппаратная поддержка виртуализации
76
Использование MIPSfpga в курсах для обучения верификации аппаратуры на разных уровнях абстракции
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
 
 
 
Sheet1