[Брюс Ленд] з Корнельського університету буде знайомим багатьом читачам Hackaday, пошук на сайті за запитом «ECE4760» відкриє багато цікавих тем щодо вбудованого програмування. Щороку [Брюс] випускає ще більше робіт студентів, на нашу велику радість. Цей проект на основі RP2040 є трохи більш абстрактним, ніж деякі попередні роботи, і демонструє ще одну реалізацію старішого хаку для використання Апаратне забезпечення DMA RP2040 як ще одне ядро ЦП. У той час як основним фокусом підсистеми RP2040 DMA є переміщення даних між просторами пам’яті з мінімальним втручанням ЦП, блоки керування DMA мають досить складну поведінку. Це дозволяє реалізовувати повний ЦП Тьюринга виключно за допомогою апаратного забезпечення DMA та невеликої кількості пам’яті.
Метод зв’язує три з дванадцяти каналів DMA і, за оцінками, має подібну продуктивність до «Arduino», але [Брюс] не уточнює, яка з різноманітних моделей це може бути. Але кого взагалі це хвилює? Програмування центрального процесора полягає в тому, щоб використовувати поведінку апаратного забезпечення, яке відображає всю пам’ять і націлюється DMA. Наприклад, ЦП може хитати контакти GPIO, використовуючи DMA для запису значень у периферійний адресний простір. Основний потік можна побачити на зображенні вище. DMA0 використовується як програмний лічильник, який вказує DMA1 на масив керуючих блоків DMA, послідовність яких кодує деякі «кодів операцій» моделі ЦП. DMA0 з’єднує (передає керування) DMA1, який зчитує блоки керування та відповідно налаштовує себе. DMA1 виконує будь-яке запрограмоване переміщення даних, зв’язується з DMA2, який, у свою чергу, перепрограмує програмний лічильник DMA0, щоб вказувати на наступний блок у списку, який повинен виконати DMA1.
Використовуючи також DMA1 для зміни наступних керуючих блоків DMA1 (там відбувається самозміна коду!), система може реалізувати більш корисні операції, такі як додавання, логічні операції та умовне розгалуження. Операції, викликані транспортом у певних тіньових регістрах увімкнути атомарне встановлення, скидання та операції XOR. Усі розумні речі та чудовий студентський проект, у якому я брав участь. [Брюс] вказує на папір (з використанням Pi2) від Воркшоп WOOT 2015 що може запропонувати краще пояснення всього цього процесу.
Якщо вам все ще цікаво, хто такий [Брюс Ленд], і ви хочете трохи ознайомитися з цими темами, тоді перегляньте наше попереднє висвітлення. Якщо ця теоретична інформація трохи важка (тобто нудна), то деякі проекти мають більш практичну спрямованість, наприклад критичне завдання сортування кеглів за кольором.
Ескіз зображення: Томас Глау, CC BY-SA 4.0.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://hackaday.com/2023/01/20/help-needed-on-thumb-image-rp2040-dma-hack-makes-another-cpu-core/
- a
- вище
- РЕЗЮМЕ
- відповідно
- доповнення
- адреса
- ВСІ
- дозволяє
- та
- Інший
- навколо
- масив
- основний
- Краще
- між
- Біт
- Блокувати
- блоки
- Нудно
- приносити
- Брюс
- певний
- ланцюга
- канали
- код
- комплекс
- контроль
- може
- Counter
- центральний процесор
- критичний
- дані
- захват
- dma
- Ні
- вбудований
- включіть
- оцінка
- приклад
- пояснення
- достатньо
- знайомий
- потік
- Сфокусувати
- від
- великий
- зламати
- Руки
- апаратні засоби
- HTML
- HTTPS
- зображення
- здійснювати
- реалізація
- реалізовані
- in
- цікавий
- втручання
- залучений
- сам
- земля
- використання
- список
- РОБОТИ
- багато
- Матерія
- пам'ять
- метод
- може бути
- мінімальний
- модель
- Моделі
- змінювати
- більше
- рухатися
- переміщення
- ім'я
- наступний
- Наступний блок
- пропонувати
- ONE
- операції
- продуктивність
- виступає
- сосна
- plato
- Інформація про дані Платона
- PlatoData
- точка
- точок
- Практичний
- попередній
- первинний
- Праймер для вій
- процес
- програма
- запрограмований
- Програмування
- проект
- проектів
- суто
- читачі
- регістри
- Релізи
- Грати короля карти - безкоштовно Nijumi логічна гра гри
- Послідовність
- комплект
- тінь
- Шоу
- аналогічний
- сайт
- деякі
- Простір
- пробіли
- Як і раніше
- студент
- наступні
- такі
- система
- Завдання
- Команда
- Проекти
- теоретичний
- три
- Зв'язку
- до
- теми
- правда
- ПЕРЕГЛЯД
- університет
- Цінності
- який
- в той час як
- ВООЗ
- Вікіпедія
- Wild
- волі
- чудовий
- цікаво
- Work
- тренування
- запис
- рік
- зефірнет