Обзор современных микроконтроллеров и их архитектурIoT Community
2-ая часть From Zero to IoT Hero: доклад - Обзор современных микроконтроллеров и их архитектур, Обзор архитектуры ARM.
1-ая часть доклада
Хотя ARM контроллеры можно встретить везде и повсюду, существует и достаточно активно используются и другие типы микроконтроллеров - например экосистема Arduino с контроллерами Atmel. Обзор и небольшое сравнение современных типов микроконтроллеров.
2-ая часть доклада
ARM - самая распространенная архитектура контроллеров для встраиваемых устройств. Почему так? Потому что они простые и очень эффективные. В докладе подробно разобрано, как они устроены.
Спикер: Александр Сурков
Обзор современных микроконтроллеров и их архитектурIoT Community
2-ая часть From Zero to IoT Hero: доклад - Обзор современных микроконтроллеров и их архитектур, Обзор архитектуры ARM.
1-ая часть доклада
Хотя ARM контроллеры можно встретить везде и повсюду, существует и достаточно активно используются и другие типы микроконтроллеров - например экосистема Arduino с контроллерами Atmel. Обзор и небольшое сравнение современных типов микроконтроллеров.
2-ая часть доклада
ARM - самая распространенная архитектура контроллеров для встраиваемых устройств. Почему так? Потому что они простые и очень эффективные. В докладе подробно разобрано, как они устроены.
Спикер: Александр Сурков
Memory. Static memory; dynamic memory; flash memory. Memory in FPGA. Firmware machines on ROM. RAM. RAM for temporary storage of information. RAM as an information buffer.
Первое занятие курса по программированию микроконтроллеров stm32. На занятии рассказано про режимы работы процессора, запись флеш памяти(эмуляция eeprom). Большая часть занятия была выделена под систему тактирования микропроцессора. А так-же рассказано как сделать начальную настройку быстрее и проще.
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Kaspersky
Константин Трушкин, Заместитель генерального директора в АО «МЦСТ», в своем докладе рассказывает о платформе Эльбрус — 6 поколений процессоров с российской архитектурой. Это не только логика ядер, но и система команд, разработанные в России. Более того, сам принцип построения вычислительного процесса — иной, чем на других распространённых архитектурах. Что это может дать при обеспечении информационной безопасности? В докладе рассказывается про основные характерные черты Эльбруса, экосистему ПО, примеры решений и внедрений, и возможности взаимного усиления полезных характеристик вместе с продуктами «Лаборатории Касперского».
Подробнее о конференции: https://kas.pr/kicsconf2021
В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
3. 3
Основные особенности системы памяти Cortex-M3
•процессор Cortex-M3 имеет фиксированную карту памяти,
которая определяет, какой шинный интерфейс должен
использоваться при обращении к тому или иному участку
памяти.
•поддержка доступа к отдельным битам памяти (метод bit-band)
•Система памяти процессора Cortex-M3 также поддерживает
пересылку невыровненных данных и операции монопольного
доступа
•процессор Cortex-M3 поддерживает па мять, использующую
как прямой, так и обратный порядок хранения байтов
4. 4
1. Карта памяти.
В процессоре Cortex-M3 используется фиксированная карта
памяти. Это облегчает перенос кода между устройствами на
базе Cortex-M3.
6. 6
Процессор Cortex-M3 имеет адресное пространство размером 4
Гбайт.
Программа может располагаться в
•области кода
•области статического ОЗУ (СОЗУ)
•области внешнего ОЗУ
9. 9
Две области памяти размером по 1 Гбайт выделены для
внешнего ОЗУ и внешних периферийных устройств
10. 10
Некоторые участки памяти зарезервированы для
использования встроенными периферийными устройствами,
такими как компоненты отладки
• модуль коррекции флэш-памяти и задания точки останова
(FPB) ;
• модуль просмотра и трассировки данных (DWT) ;
• модуль трассировки (ITM) ;
• модуль встроенной ячейки трассировки (ETM) ;
• модуль интерфейса порта трассировки (TPIU) ;
• таблица ПЗУ.
11. 11
Атрибуты доступа к памяти
Процессором Cortex-M3 используются следующие
атрибуты:
• Буферируемая
• Кэшируемая
• Исполняемая
• Разделяемая
12. 12
Область кода (0x00000000…0x1FFFFFFF) — является
исполняемой, а атрибут кэширования имеет значение
«кэшируемая со сквозной записью» (Write Through — WT). Вы
также можете размещать в этой области данные. Обращения к
данным, расположенным в указанной области, осуществляются
по интерфейсу шины данных. Операции записи в данную
область памяти буферизуются.
Область СОЗУ (0x20000000…0x3FFFFFFF) — предназначена
для подключения встроенного ОЗУ. Операции записи в эту
область буферизуются, а атрибут кэширования имеет значение
«кэшируемая с обратной записью и размещением
записываемых данных» (WB-WA). Указанная область является
исполняемой, так что вы можете скопировать в неё код
программы и исполнять его уже оттуда.
13. 13
Область периферийных устройств (0x40000000…
0x5FFFFFFF) — предназначена для размещения периферийных
устройств. Обращения к этой области памяти не кэшируются, и
исполнение кода из неё не допускается (в документации ARM
неисполняемая память имеет атрибут XN, являющийся
сокращением от eXecute Never).
Область внешнего ОЗУ (0x60000000…0x7FFFFFFF) —
предназначена для встроенной или внешней памяти данных.
Обращения к указанной области памяти могут кэшироваться
(WB-WA), из этой области также допускается выполнение
кода.
Область внешнего ОЗУ (0x80000000…0x9FFFFFFF) —
предназначена для встроенной или внешней памяти данных.
Обращения к этой области памяти могут кэшироваться (WT),
из данной области также допускается выполнение кода.
14. 14
Область внешних устройств (0xA0000000…0xBFFFFFFF) —
предназначена для внешних устройств и/или разделяемой
памяти, к которой необходимо обеспечить упорядоченный и
небуферизованный доступ. Эта область также является
исполняемой.
Область внешних устройств (0xC0000000…0xDFFFFFFF) —
предназначена для внешних устройств и/или разделяемой
памяти, к которой необходимо обеспечить упорядоченный и
небуферизованный доступ. Область также является
исполняемой.
Системная область (0xE0000000…0xFFFFFFFF) —
предназначена для собственных периферийных устройств
процессора, а также для модулей, определяемых
производителем. Исполнение кода из этой области памяти не
допускается. В диапазоне адресов, выделенных шине PBB,
обеспечивается строго упорядоченный доступ к памяти
(некэшируемая и небуферируемая память). В диапазоне
адресов, выделенных для изготовителей кристаллов, память
является буферируемой, но некэшируемой.
17. 17
2. Регистры.
Процессор Cortex™-M3 имеет 16 регистров с R0 по R15 и
несколько регистров специального назначения. Регистры с
R0 по R12 являются регистрами общего назначения.
Регистры специального назначения выполняют
предопределённые функции и для обращения к ним
необходимо использовать особые команды.
18. 18
Регистры общего назначения с R0 по R7
Регистры общего назначения с R0 по R7 также называются
младшими регистрами . Обращаться к этим регистрам могут все
команды как 16-битного набора Thumb, так и 32-битного набора
Thumb-2. Все указанные регистры имеют разрядность 32 бита,
состояние регистров после сброса может быть любым.
Регистры общего назначения с R8 по R12
Регистры общего назначения с R8 по R12 также называются
старшими регистрами . Обращаться к этим регистрам могут все
команды набора Thumb-2 и некоторые команды набора Thumb. Все
указанные регистры имеют разрядность 32 бита, состояние регистров
после сброса может быть любым.
19. 19
Указатель стека R13
Регистр процессора R13 используется в качестве указателя
стека, причём в процессоре Cortex-M3 имеется два таких указателя.
Наличие двух указателей позволяет реализовать два независимых
стека. Используя идентификатор R13, можно обращаться только к
текущему указателю, другой указатель при этом будет недоступен.
Обратиться к недоступному в данный момент указателю можно только
с помощью команд пересылки между регистром общего назначения и
регистром специального назначения (MSR и MRS).
В процессоре Cortex-M3 имеются следующие указатели стека:
•Основной указатель стека MSP.
•Указатель стека процесса PSP
21. 21
Регистр связи R14
Регистр R14 используется в качестве регистра связи (Link Register
— LR). Регистр связи применяется для сохранения адреса возврата
при вызове процедуры или функции, например при выполнении
команды пере хода со ссылкой (BL)
Счётчик команд R15
Регистр R15 служит в качестве счётчика команд PC. Для обращения
к данному регистру можно использовать любое из обозначений —
R15 или PC. Из-за наличия в процессоре Cortex-M3 конвейера
значение, считанное из этого регистра, будет отличаться от адреса
исполняемой в данный момент команды (как правило, на 4).
22. 22
Группу регистров состояния программы составляют три регистра:
• регистр состояния приложения APSR;
• регистр состояния прерывания IPSR;
• регистр состояния выполнения EPSR.