Search
Write a publication
Pull to refresh
97
0.5
Send message

Небольшие заметки про модель памяти на примере RISC-V

Level of difficultyHard
Reading time17 min
Views4.3K

Идея статьи родилась после прочтения многочисленных источников в интернете по барьерам и моделям памяти.Так же, был просмотрены соответствующие видео с разъяснением. Много где в целом всё достаточно хорошо разжевано. Статья не претендует на исчерпывающий материал. Скорее, это обзорное описание на тему модели памяти в связке с RISC-V. Не рассчитана на entry level, рекомендуется сперва почитать что нибудь вводное.

Навряд ли кому то необходимо детальное знание внутренней архитектуры процессора на уровне RTL (register-transfer level), как и глубокого понимания принципов модели памяти, согласованности. Да и обычно вся эта информация берется из соответствующей литературе от производителя, других книгах по оптимизации. Предполагаю, что авторы в том или ином виде могу знать более глубокие вещи, чем представлены в открытых источниках. Возможно, они работали в компании производителя (Intel, например), общение, конференции, сообщества.

Но может ли быть источник лучший, чем исходники CPU? Навряд ли. Вы не найдете в открытом доступе исходники процессоров Intel, AMD и любых других. ARM за это денежки получает, продавая права на архитектуру и готовые спроектированные блоки. А вот для RISC-V такой источник есть - исходники полноценного суперскалярного out-of-order процессора от Berkley.

Не так давно был разработан язык Chisel на замену Verilog и аналогов. Он на базе Scala. А, так как это Scala, мы можем использовать IDE и внятную навигацию по исходникам. Но в исходники просто так не пойдешь, сперва надо приобрести необходимые фундаментальные знания, чтобы понимать в целом что такое разработка на уровне RTL. Неплохо бы разобраться с Verilog и с базовыми понятиями - всякие там защелки, регистры, мультиплексоры и тп. Это я и решил сделать и начал с книги “Паттерсон, Хеннесси: Архитектура компьютера и проектирование компьютерных систем”. Она безумно крутая и очень понятная. Затем прочитал несколько книг по FPGA и Verilog и даже купил учебную FPGA плату, но руки до неё так и не дошли. Это позволило сформировать для себя какую то необходимую картину того, как функционирует CPU, как происходит проектирование микроконтроллеров. 

Читать далее

Программируем квадрокоптер на STM32

Level of difficultyEasy
Reading time8 min
Views15K

Данный проект представляет собой систему стабилизации квадрокоптера на базе микроконтроллера STM32F411, реализованную на языке C. Включает обработку данных с датчиков (акселерометр, гироскоп), PID-регуляторы для управления моторами и алгоритмы фильтрации. Подходит для образовательных целей и DIY-проектов.

Читать далее

Запускаем MIPI DSI экраны от смартфонов. Разработка схемы основной платы. Часть 2. Система питания

Level of difficultyMedium
Reading time8 min
Views3.6K

Даже на небольшой плате может понадобиться несколько напряжений.

Как будем питать плату? Сколько потребляют разные экраны? Какие топологии преобразователей выбрать?

В данной части рассмотрим эти и другие вопросы. Спроектируем систему питания и станем ещё на шаг ближе к завершению разработки схемы основной платы!

Полетели! :)

NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

Level of difficultyEasy
Reading time5 min
Views48K

Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для "раздеградирования" YouTube и установил личный рекорд - 400 звезд на GitHub и блокировка статьи РКН через три дня после публикации.

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

TIG сварка в домашней мастерской, знакомство. Часть 3. Подключение, электроды

Level of difficultyMedium
Reading time8 min
Views13K

Продолжим погружаться в восхитительный мир тонкой и качественной сварки любых металлов средствами TIG процесса — работа неплавящимся вольфрамовым электродом в среде аргона, оборудование для которого может быть сравнительно простым, доступным и ремонтопригодным, вплоть до самодельных установок. Исходные условия: любительская домашняя мастерская, невеликий бюджет, нуль опыта. В части №1 мы уже познакомились со средствами защиты и газобаллонной частью дела; в части №2 коснулись сварочных аппаратов и горелок.
Читать дальше →

Мой идеальный компьютер

Reading time7 min
Views35K

Я сижу под Linux, но иногда нужна винда. До недавнего времени у меня был обычный dual boot, но сейчас я реализовал свой идеальный сетап:

- основная система - Linux

- Windows - на выделенной SSD

- на нее можно загрузиться как из груба, так и из виртуалки

- с пробросом второго GPU (дисплей на отдельный физический выход)

- с качественным удаленным подключением (как RDP, но быстрое) - можно играть в игры

Ниже опишу что и как сделал.

Читать далее

Математика бэкдора в Dual EC DRBG

Level of difficultyHard
Reading time7 min
Views2.7K

Dual EC DRBG - нашумевшая схема генератора псевдослучайных чисел, который был стандартизован, несмотря на потенциальный бэкдор. Математическая часть данного бэкдора интересна и сама по себе, но особенно - как важная веха в истории современной криптографии. Статья посвящена математической части бэкдора и в деталях объясняет то, почему он работает. Для понимания потребуется хотя бы минимальное знакомство с основными понятиями алгебры и криптографии.

Читать далее

Пример применения алгоритма Берлекэмпа-Месси

Level of difficultyEasy
Reading time1 min
Views3.7K

Алгоритм Берлекэмпа-Месси используется для поиска минимального многочлена ЛРП. Его внешний вид может быть слегка пугающим, особенно если без должной подготовки нарваться на доказательства его корректности. Мы же здесь просто посмотрим работу данного алгоритма на конкретном примере и произведём проверку с помощью средств линейной алгебры.

Читать далее

Kubernetes для RISC-V? Оцениваем работу популярных оркестраторов на процессоре с открытой архитектурой

Reading time19 min
Views1.4K

Чем быстрее прогресс RISC-V, тем острее встает вопрос адаптации ПО под эту архитектуру. Например, инструментов для работы с микросервисами, без которых уже сложно представить современную разработку. Есть ли место контейнеризации в открытой архитектуре?

Под катом вас ждет тестирование современных инструментов оркестрации — Kubernetes, K3s и Docker Swarm. Мы — команда совместной лаборатории «Технологии программирования» Санкт-Петербургского политехнического университета Петра Великого и YADRO — попробовали запустить их на микрокомпьютере Lichee Pi 4A и оценили их производительность.

Читать далее

Решаем проблему «деградации» YouTube с помощью NoDPI

Level of difficultyEasy
Reading time5 min
Views105K

Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как GoodbyeDPI (большое спасибо @ValdikSS!). Сегодня я хочу представить вам (почти) свою разработку - аналог GoodbyeDPI.

Около полугода назад в своей статье Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 (заблокирована по требованию РКН) я рассказывал о том, как скачивать видео с YouTube на Python, а так как YouTube у нас "деградировал", я поделился инструментом, с помощью которого можно исправить этот вопиющий недостаток. Инструмент тогда выглядел достаточно сыро, и несмотря на то, что он выполнял свою задачу, требовал серьезных улучшений. Увидев интерес общественности, я решил допилить его, и вот, спустя полгода, после немалой работы, я рад представить вам NoDPI - проект, который явно не понравится РКН (и он опять меня заблокирует).

В этой статье я хочу рассказать о его возможностях, внутреннем устройстве, отличии от аналогов. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

Разработка DIY компьютера на базе FPGA

Reading time12 min
Views15K

Желание поиграть в проектирование собственного процессора обычно приводит к покупке платы с FPGA. Но мне захотелось сделать шаг дальше и начать не с Verilog-а, а с паяльника.

Это статья о том, как я занялся разработкой электроники, не имея почти никакого опыта в этой сфере. Цель - сделать устройство с FPGA на котором можно загрузить Linux, подключить экран и клавиатуру, а потом прямо там писать и компилировать код.

Зачем это нужно? Это хобби. Практической ценности не имеет. Просто я так развлекаюсь. А сейчас у меня, к моему собственному удивлению, все задуманное получилось, и я хочу показать и похвастаться.

Читать далее

RISC-V против ARM: обзор свежих одноплатников мая 2025 года

Reading time6 min
Views12K
image

Май 2025 выдался горячим — и не только из-за погоды. Производители одноплатных ПК дружно выкатили новинки: тут и восьмиядерные RISC-V с AI-ускорителями, и скромные, но бодрые ARM-платы по цене чашки кофе. Пока одни компании пытаются предложить альтернативу Raspberry Pi, другие создают узлы для сетевого оборудования или IoT-хаба. Под катом — пять свежих моделей, каждая со своим характером, архитектурой и назначением. Сравниваем и разбираемся, кто на что способен.
Читать дальше →

Выясняем, кто поселился в вашей сети

Level of difficultyMedium
Reading time6 min
Views22K

Привет Хабр! На связи Аеза и сегодня мы хотим поговорить на одну очень злободневную тему – выявление подозрительных активностей в трафике. Мы не будем говорить о каких-то специализированных решениях, типа IDS/IPS, а вместо этого рассмотрим основные принципы выявления подозрительных действий что называется вручную.

Наша задача будет состоять в том, чтобы самостоятельно, используя только Wireshark проанализировать образцы трафика и выявить в нем подозрительную активность для последующей настройки средств защиты.

Читать далее

MP3 устарел. Будущее за современными lossless-кодеками

Level of difficultyMedium
Reading time7 min
Views15K
Сравнение производительности lossless-кодеков на материале CD-качества, то есть аудиофайлах PCM с битовой глубиной 16 бит и частотой дискретизации 44,1 кГц, источник

В своё время MP3 совершил революцию в распространении музыки. Больше не нужно было покупать дорогие компакт-диски. Достаточно поставить на ночь загрузку из «Напстера» — и к утру у тебя несколько файлов MP3, которые можно слушать совершенно бесплатно! Любые исполнители и альбомы. Это было невероятно.

Но сейчас времена изменились. Файлы скачиваются за секунды, а место на диске измеряется терабайтами. Нет смысла подвергать музыку калечащему сжатию с потерей информации. Можно спокойно скачивать и хранить её в lossless-форматах, причём со значительным сжатием.

Есть ряд lossless-кодеков, которые эффективнее .FLAC по степени сжатия.
Читать дальше →

Все знают, где ты находишься — можешь убедиться сам

Level of difficultyMedium
Reading time7 min
Views56K


Прошло больше двух месяцев после того, как я опубликовал свой первый пост о передаче данных местоположения сторонним приложениям.

За это время я пообщался со многими людьми из этой сферы: с членами некоммерческих организаций, сражающихся за права на конфиденциальность данных в разных странах до сотрудников компаний, занимающихся рекламными технологиями. Они подтвердили или опровергли мои слова (в основном подтвердили). Меня даже пригласили в подкаст «Lock and Code» для обсуждения геолокационных данных и конфиденциальности.

Я ещё раз прошёлся по процессу, описанному в первом посте, и решил сделать его более быстрым и масштабируемым: ручной анализ сотен запросов в Charles отлично подходит для исследований и обучения, но для нахождения «интересных» запросов конкретного приложения мне требовалось слишком много времени.

Я существенно улучшил свою методику (хотя она определённо может быть более эффективной), и в этом посте хочу поделиться ею.

* Деятельность Meta — соцсети Facebook и Instagram — запрещена в России как экстремистская.

▍ TL;DR


Я создал небольшое руководство и Python-ноутбук, которые позволят любому записывать трафик мобильных приложений и находить в нём неожиданные вещи.

Описание выложено в репозиторий GitHub.
Читать дальше →

Небо в «Алмазах»

Reading time26 min
Views6.4K

Освоение космоса с самого начала шло не в сугубо мирных целях. И быть иначе не могло. Космические аппараты по обе стороны «железного занавеса» выводили баллистические ракеты, созданные на оборонные бюджеты. Разумеется, генералы требовали, чтобы вложения в «космические игрушки» приносили отдачу. Как и в авиации, первой военной «профессией» на орбите стала разведка.

Читать далее

Пополнение среди ультрабюджетных девбордов: FPGA — «отладка» за 201 р

Level of difficultyMedium
Reading time4 min
Views13K

Пополнение среди ультрабюджетных девбордов: FPGA - "отладка" за 201 р.

Самая дешёвая "оценочная плата" с ПЛИС Xilinx Spartan-6 на AliExpress обойдётся в ровно 3000р. На Авито и майнерских "Купи-Продайках" - в 10 раз дешевле. С более "жирным камнем". Никакого подвоха, всё честно.

Читать далее

Виноград, Фурье и немного наивности: 4 подхода к реализации сверток с простыми примерами

Level of difficultyMedium
Reading time9 min
Views8.9K

Привет, Хабр! Меня зовут Кирилл Колодяжный, я работаю в YADRO и продолжаю изучать машинное обучение на С++. Я уже писал, как реализовать модели для распознавания лиц на фото и для поиска объекта в пространстве с помощью computer vision. Ссылки на материалы ищите в конце статьи.

Сегодня затрону «математическую» тему и расскажу о реализации сверток: что это за операция и какие есть алгоритмы для вычисления. Приведу простые примеры с кодом, чтобы вы могли опробовать решения.

У статьи будет вторая часть: про особенности реализации одного из этих алгоритмов с использованием CUDA в рамках фреймворка PyTorch и про то, как адаптировать его под свои задачи.

Читать далее

Исследование I/Q сигнала с SDR с помощью Adobe Audition

Reading time10 min
Views16K
Про SDR приёмники и трансиверы я узнал от радиолюбителей ещё очень давно, когда у меня ещё даже не было Интернета. Как ни странно, в этой технике толком мало кто понимал. Плотно занимаясь на то время обработкой аудио, я уловил идею и основной принцип работы SDR. Как я понимал на то время, SDR представляет собой обычный приёмник прямого преобразования, в состав которого в основном входит смеситель и опорный гетеродин фиксированной или перестраиваемой частоты. На входы смесителя заводится антенна и выход гетеродина, а выход смесителя подаётся на звуковую карту. В связи с тем, что станции имеют узкую полосу, а звуковая карта – гораздо шире, есть возможность каким-либо образом программно перестраиваться со станции на станцию внутри фиксированной широкой полосы частот. Кроме того, существует возможность заодно обрабатывать принимаемый сигнал с помощью DSP. С отдельными программами для DSP, которые обрабатывают сигнал с НЧ выхода радиоприёмника, я уже сталкивался (подавление шума, узкополосный фильтр и т.д.). Идея мне показалась довольно заманчивой, и я стал интересоваться этим вопросом глубже.
Читать дальше →

Создание аудиоплагинов, часть 6

Reading time8 min
Views9.8K
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



После улучшений интерфейса пора бы заняться и программированием. В этом посте мы сгенерируем классические синус, пилу, треугольник и меандр.

Читать дальше →
1
23 ...

Information

Rating
3,381-st
Registered
Activity