Войти или зарегистрироваться
WASM
Главная
Публикации
>
SadKo
>
Публикации автора: SadKo
Прикладной SIMD 003: прежде, чем начать (часть 2)
13 мар 2018
Инициализация DSP-модуля После того, как мы смогли корректно идентифицировать необходимые нам расширения процессора, возникает необходимость в инициализации всего DSP-модуля. Частично мы уже выполнили большую часть работы, написав код идентификации и поиска поддерживаемых расширений процессора. Теперь осталось открыть завесу над тайной, зачем всё это нам нужно. Давайте представим себе ситуацию, когда нам необходимо выполнить какую-то функцию, осуществляющую достаточно нетривиальные и...
Читать далее
+1
0
2.684
Прикладной SIMD 003: прежде, чем начать (часть 1)
12 мар 2018
Предисловие В этой статье мы рассмотрим необходимый минимум действий для того, чтобы подготовить почву для работы с SIMD. Для этого необходимо выполнить ряд действий: удобно организовать проект; написать функцию идентификации процессора и поиска расширенных наборов инструкций; реализовать механизм инициализации всего DSP-модуля; написать функции инициализации и восстановления машинного контекста; собрать всё воедино с нужными опциями. Организация проекта Для того, чтобы впоследствии...
Читать далее
+1
0
2.486
Прикладной SIMD 002: краткий обзор
16 фев 2018
Предисловие Данная статья ставит целью в первую очередь рассказать хронологию появления тех или иных технологий SIMD в процессорах семейства x86 и одновременно кратко охарактеризовать их. Предыстория: FPU Изначально процессоры 8086 и 8088 (как более дешёвая версия 8086 с восьмибитной шиной данных) имели шестнадцатиразрядные регистры общего назначения и предоставляли возможность вычислений с использованием только целочисленной арифметики. Тем не менее в процессорах был предусмотрен набор...
Читать далее
+3
6
5.224
Прикладной SIMD 001: введение (часть 3)
16 фев 2018
Специфика программного кода Учитывая то, что плагины в первую очередь разрабатываются для использования в некоторой DAW (Digital Audio Workstation, цифровая звуковая рабочая станция), фреймы принято делить на отдельные моно-каналы. Благодаря этому значительно упрощается их коммутация, обработка и микширование в DAW (далее будет использоваться более общий и употребимый термин — хост (host)). Иными словами, стереоканал — это просто совокупность из двух моно-каналов. Каждый канал ассоциируется...
Читать далее
+2
1
2.939
Прикладной SIMD 001: введение (часть 2)
16 фев 2018
Анатомия сэмпла Разобравшись с частотой дискретизации и минимальной разрядностью сэмпла для нужд профессиональной аудиообработки, необходимо решить ещё один вопрос: каким образом семпл будет храниться в памяти. Как уже ранее упоминалось, для дискретизации по уровню сигнала может быть использована как линейная, так и нелинейная шкала. Нелинейная шкала была введена в цифровой телефонии для того, чтобы расширить динамический диапазон сигнала, но при этом сэкономить на размере сэмпла. На рисунке...
Читать далее
+1
1
3.132
Прикладной SIMD 001: введение (часть 1)
16 фев 2018
Предисловие Всем привет! Меня зовут Владимир Садовников, и в последнее время я активно занимаюсь разработкой плагинов, осуществляющих цифровую обработку аудиосигналов (DSP, Digital Signal Processing) на процессорах архитектуры x86 и x86_64. Учитывая то, что такие плагины зачастую осуществляют обработку сигнала в реальном времени, приходится достаточно основательно заниматься вопросом оптимизации вычислительных алгоритмов. При этом, одним из основных приёмов оптимизации является написание...
Читать далее
+3
3
3.307
Файлы для статьи Знакомимся с Raspberry Pi
13 янв 2018
Файлы для статьи "Знакомимся с Raspberry Pi"
Читать далее
+1
0
1.808
Знакомимся с Raspberry Pi
13 янв 2018
Предисловие Наступал новый 2018 год. Кто-то собрался уезжать праздновать его наступление в тёплые края за границу, а кто-то остался праздновать новый год дома, в серых стенах каменного Санкт-Петербурга. Пожалуй, несомненно то, что новогодние праздники – особенная пора, от которой ждут волшебства, единения с семьёй и друзьями, и, разумеется, подарков, ведь все мы в той или иной степени в душе немного дети. Просто те, что помладше, ждут Деда Мороза, а те, что постарше, идут за подарками в...
Читать далее
+4
4
6.128
Начала программирования в защищённом режиме (часть 2)
24 авг 2017
Линейный адрес таблицы указывает, в какой области оперативной памяти находится таблица. Размер таблицы считается в байтах, при чём значение битов 0-15 должно быть на единицу меньше реального размера таблицы. Структура регистра LDTR выглядит следующим образом: [IMG] Рисунок 17. Структура данных регистра LDTR Из всех 10 байт нам доступны лишь младшие два байта (биты 0-15), в которые следует загрузить селектор дескриптора таблицы LDT, находящийся в таблице GDT. В таком случае общий механизм...
Читать далее
+2
1
4.412
Начала программирования в защищённом режиме (часть 1)
24 авг 2017
Начала программирования в защищённом режиме. Часть 1 Предисловие Данный цикл статей расчитан на пользователей персональный компьютеров типа IBM PC, которые хотели бы познакомиться с архитектурой процессоров семейства Intel в защищённом режиме и написать свою собственную программу, функционирующую как вполне самостоятельная операционная система. От читателя требуется хотя бы минимальный опыт программирования на языках Assembler и C++, потому что будет предполагаться, что с некоторыми...
Читать далее
+2
8
13.662
Кодирование Хаффмана (часть 3)
24 авг 2017
Кодирование Хаффмана. Часть 3 Вступление В прошлой части мы рассмотрели программу на C++, сжимающую данные. Кроме этого, автор соизволил признаться, что написанная программа не является идеалом, и что при определённых наборах частот сжатие будет неверным. Эта статья посвящена распаковке сжатого файла при помощи программы на ассемблере и дерева, построенного программой сжатия. Опять же следует оговориться: программа не рассчитана на распаковку гигантских файлов, но её в любой момент можно...
Читать далее
+2
2
4.499
Кодирование Хаффмана (часть 1 и 2)
20 авг 2017
Кодирование Хаффмана. Часть 1. Вступление Здравствуй, дорогой читатель! В данной статье будет рассмотрен один из способов сжатия данных. Этот способ является достаточно широко распространённым и заслуживает определённого внимания. Данный материал рассчитан по объёму на три статьи, первая из которых будет посвящена алгоритму сжатия, вторая - программной реализации алгоритма, а третья ― декомпрессии. Алгоритм сжатия будет написан на языке C++, алгоритм декомпрессии ― на языке Assembler....
Читать далее
+2
1
28.565
Показано элементов:
12
из 12.
Ваше имя или e-mail:
У Вас уже есть учётная запись?
Нет, зарегистрироваться сейчас.
Да, мой пароль:
Забыли пароль?
Запомнить меня
WASM
Главная
Публикации
>
SadKo
>
Главная
Форум
Форум
Быстрые ссылки
Поиск сообщений
Последние сообщения
Ресурсы
Ресурсы
Быстрые ссылки
Поиск ресурсов
Наиболее активные авторы
Последние оценки
Публикации
Публикации
Быстрые ссылки
Новые
Лучшие
Песочница
|
Новые публикации
Пользователи
Пользователи
Быстрые ссылки
Выдающиеся пользователи
Сейчас на форуме
Недавняя активность
Новые сообщения профиля
Правила
Меню
Поиск
Искать только в заголовках
Сообщения пользователя:
Имена участников (разделяйте запятой).
Новее чем:
Быстрый поиск
Последние сообщения
Больше...