powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
25 сообщений из 58, страница 2 из 3
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38171835
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMA,

Дык чего ж вы тогда спрашиваете есть ли такая возможность, когда в ссылке которую вы привели прямо написано что поддержка IOAT (включая прикрепление страниц вирт. памяти на время операции) добавлена в Линуксе начиная с 2.6.18 и в Винде с 2003sp1 (2006).

Только я вот думаю, что эта фича доступна только в режиме ядра, но не юзерскому коду.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38171847
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyТолько я вот думаю, что эта фича доступна только в режиме ядра, но не юзерскому коду.
угу

http://communities.intel.com/thread/30456

авторNote also, that next Windows Server version (2012) will not support NetDMA and DCA, so I/OAT will become mostly useless.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38172014
Anatoly MoskovskyRAM-RAM через DMA,

Дык чего ж вы тогда спрашиваете есть ли такая возможность, когда в ссылке которую вы привели прямо написано что поддержка IOAT (включая прикрепление страниц вирт. памяти на время операции) добавлена в Линуксе начиная с 2.6.18 и в Винде с 2003sp1 (2006).

Только я вот думаю, что эта фича доступна только в режиме ядра, но не юзерскому коду.
Вот мне и интересно почему в Win2003SP1 ввели поддержку NetDMA, а в Win2012 отменили, говорит ли это о том, что есть более эффективные вещи?

Помимо этого мне интересно использовал ли кто-то фичи IOAT, не обязательно NetDMA (It's typically used for accelerating network traffic, but supports any kind of copies ) или если есть подобные у AMD и получал ли от этого профит?
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38172343
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAТ.е. тесты врут и в BestPractice от nVidia ошиблись и DMA-пересылка RAM -> Device (видеокарточка) медленнее чем это делает CPU?
...
Я лишь копирую цитаты из Intel, а вы называете это бредом.Вы цитируете, не понимая смысла.
Во всех ваших "примерах" с памятью общаются периферийные устройства. Обмен память-железка. В этом случае - да, пересылка под управлением ЦПУ менее эффективна, нежели пересылка под управлением самой железки.
Но задача, которую вы решаете - другая. И в этой задаче нет места периферии. Просто потому, что пересылку память-память быстрее всех делает именно ЦПУ.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38172510
Basil A. SidorovRAM-RAM через DMAТ.е. тесты врут и в BestPractice от nVidia ошиблись и DMA-пересылка RAM -> Device (видеокарточка) медленнее чем это делает CPU?
...
Я лишь копирую цитаты из Intel, а вы называете это бредом.Вы цитируете, не понимая смысла.
Во всех ваших "примерах" с памятью общаются периферийные устройства. Обмен память-железка. В этом случае - да, пересылка под управлением ЦПУ менее эффективна, нежели пересылка под управлением самой железки.
Но задача, которую вы решаете - другая. И в этой задаче нет места периферии. Просто потому, что пересылку память-память быстрее всех делает именно ЦПУ.
Такое ощущение, что вы сами с собой разговариваете.
Я в первом сообщении написал, что DMA RAM-RAM медленнее, и в чем смысл ваших выпадов убедить меня в этом же? :)
Учимся читать:
RAM->RAM через DMAПрименяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
Может это будет быстрее или пусть даже чуть медленнее , но смысл в том, что можно заснуть на время копирования, отдав ядро другому потоку, сэкономив такты . Если конечно копируется достаточно большой объем .
Если вы не поняли, то сэкономленные такты отдаются другим потокам и как вы думаете это сказывается на производительности всего приложения в целом?

Обмен памяти с какой периферийной железкой производит интеловская функция async_memcpy.c ?
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173510
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAОбмен памяти с какой периферийной железкой производит интеловская функция async_memcpy.c ?Замечание про "не понимая смысла" остаётся в силе:
Код: sql
1.
if (device && is_dma_copy_aligned(device, src_offset, dest_offset, len)



P.S. Укажите, кто (кроме ЦПУ) умеет (быстро или медленно) копировать память-память и мы продолжим обсуждение.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173668
Basil A. SidorovRAM-RAM через DMAОбмен памяти с какой периферийной железкой производит интеловская функция async_memcpy.c ?Замечание про "не понимая смысла" остаётся в силе:
Код: sql
1.
if (device && is_dma_copy_aligned(device, src_offset, dest_offset, len)



P.S. Укажите, кто (кроме ЦПУ) умеет (быстро или медленно) копировать память-память и мы продолжим обсуждение.
Устройство называется 5000 Series Chipset DMA Engine, а технология называется внезапно! I/OAT.

Это очевидно, что память не сама себя копирует, а делает это некий device (5000 Series Chipset DMA Engine).
Что оно из себя представляет физически, я не знаю: отдельный чип или MMU/Uncore/IMC переехавшие вместе с северным мостом на один кристалл с CPU.

Вы ответьте, что означают выделенные слова, здесь говориться, что копировать память-память может только CPU?
http://en.wikipedia.org/wiki/Direct_memory_access DMA can also be used for " memory to memory " copying or moving of data within memory. DMA can offload expensive memory operations, such as large copies or scatter-gather operations, from the CPU to a dedicated DMA engine . An implementation example is the I/O Acceleration Technology .

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.9125 Most of the receive packet processing time [15] is spent in copying the data from kernel buffer to user buffer . ... I/OAT offloads this copy operation with an additional DMA engine.

Вы как думаете, что это за устройство, которое ускоряет "сетевой" обмен между двумя виртуальными серверами расположенными на одном физическом сервере?
Очевидно, что тупым копированием не должно заниматься такое сложное устройство как ядро CPU.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173678
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAОчевидно, что тупым копированием не должно заниматься такое сложное устройство как ядро CPU.
а в Майкрософт почему-то решили иначе.

Значит - неочевидно
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173692
ИзопропилRAM-RAM через DMAОчевидно, что тупым копированием не должно заниматься такое сложное устройство как ядро CPU.
а в Майкрософт почему-то решили иначе.

Значит - неочевидно
В майкрософт решили не использовать NetDMA, не очевидно что они отказались от копирования DMA память-память, может они теперь делают это используя другое/по другому названное устройство? :)
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173757
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAУстройство называется 5000 Series Chipset DMA Engine, а технология называется внезапно! I/OAT."I/O Acceleration (Intel(R) I/OAT)".
Вам абревиатуру I/O расшифровать?
Это первое.
А второе - если вас смущает "memory hub", то приведите тот кусок спецификации из которого явствует, что "5000 Series Chipset DMA Engine" предназначен для копирования память-память.Вы ответьте, что означают выделенные слова, здесь говориться, что копировать память-память может только CPU?Разницу между "также может использоваться для" и "используется для" - улавливаете?Most of the receive packet processing time is spent in copying the data from kernel buffer to user buffer А вот это - вообще пальцем в небо. Написано, что копирование данных из буферов ядра в пользовательскую память процессора требует много времени. Ну так это общеизвестно.
В IP-стеке с давних есть функции, позволяющие использовать память процесса в качестве "ядрёных буферов" и прочие оптимизации.
То, что интел реализовал какой-то из вариантов аппаратной поддержки - ну замечательно. И что?

P.S. По асинхронному копированию вопросов, как я понимаю, больше нет?

P.P.S. Весь современный ввод-вывод, включая обработку прерываний, может делаться "в память". Это всего лишь означает, что любая, сколько-нибудь современная железка, умеет отображать свои потроха на физических адреса.
На работу оперативной памяти (хоть в пределах одного узла, хоть между разными узлами NUMA-системы) это никак не влияет.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173758
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovв пользовательскую память процессора требует много времени.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38173808
Basil A. SidorovВы ответьте, что означают выделенные слова, здесь говориться, что копировать память-память может только CPU?Разницу между "также может использоваться для" и "используется для"
"Может использоваться" - значит можно взять и использовать, и НЕ значит, что сейчас не существует якобы выдуманного мною DMA контроллера (5000 Series Chipset DMA Engine), как вы утверждали.

Раньше оно было особенно актуально из-за боттлнека в виде FSB и перегонять память вхолостую по ней было весьма медленно.
Другой вопрос существуют ли сейчас задачи для передачи информации между виртуалками, в которых нет никаких физических устройств способных к busmastering, и где копирование является неплохим паттерном?

Basil A. SidorovВ IP-стеке с давних есть функции, позволяющие использовать память процесса в качестве "ядрёных буферов" и прочие оптимизации.
То, что интел реализовал какой-то из вариантов аппаратной поддержки - ну замечательно. И что?

И как по вашему реализовано, так Net-(mapped on kernel buffer RAM)->-(DMA)->user buffer(RAM) или как?

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.9125 Most of the receive packet processing time [15] is spent in copying the data from kernel buffer to user buffer. In particular, the ratio of useful work done by the CPU to useless overheads such as CPU stalling for memory access or data movement, decreases as we go from 1 Gbps links to 10 Gbps links [17]. Especially for data movement operations, rather than waiting for a memory copy to finish, the host CPU can process other pending packets while the copy is still in progress. I/OAT offloads this copy operation with an additional DMA engine. This is a dedicated device which can perform memory copies. As a result, while the DMA is performing the data copy, the CPU becomes free to process other pending packets. For more details regarding this feature and its implementation please refer to [15, 17, 16].
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38174788
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMA"Может использоваться" - значит можно взять и использовать, и НЕ значит, что сейчас не существует якобы выдуманного мною DMA контроллера (5000 Series Chipset DMA Engine), как вы утверждали.Какой же вы трудный ...
Я не утверждал, что не существует DMA/busmastering/etc.
Я утверждал, что область применения всего этого великолепия ограничена обменом между оперативной памятью и периферийным устройством. В частности, всё, что вы упоминали предназначено для обеспечения нормальной работы высокоскоростных и/или многопортовых сетевых карт.
Ничто из перечисленного вами не может использоваться для обмена между двумя участками оперативной памяти.И как по вашему реализовано, так Net-(mapped on kernel buffer RAM)->-(DMA)->user buffer(RAM) или как?Железка обменивается с физическими адресами. Примите это как факт.
IP-стек предоставляет (ограниченную) возможность отобразить некоторый участок виртуального адресного пространства процесса на физическую память. Плюс механизм оповещения о завершении обмена с периферийным устройством.
Так вот, в вашей цепочке:
1. (DMA) находится не в том месте;
2. Вообще не относится к делу, т.к. представляет собой несущественные (аппаратные) детали процесса обмена между периферией и ОЗУ.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38174837
http://en.wikipedia.org/wiki/Direct_memory_access DMA can also be used for " memory to memory " copying or moving of data within memory. DMA can offload expensive memory operations, such as large copies or scatter-gather operations, from the CPU to a dedicated DMA engine . An implementation example is the I/O Acceleration Technology .
Basil A. Sidorov "также может использоваться для"
Basil A. Sidorov не может использоваться для обмена между двумя участками оперативной памяти.
Так вы определитесь то может, то не может, капризный какой. В википедии врут что I/OAT может использоваться для memory to memory?

Basil A. SidorovIP-стек предоставляет (ограниченную) возможность отобразить некоторый участок виртуального адресного пространства процесса на физическую память.
Отобразить некоторый участок виртуального адресного пространства процесса на физическую память - это делает MMU оперируя PTE и кэшируя их в TLB, и IP-стек тут абсолютно не причем.

Basil A. SidorovТак вот, в вашей цепочке:
1. (DMA) находится не в том месте;
Ну так скажите где он должен быть, вы вообще о нем не упомянули.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38175078
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAВ википедии врут что I/OAT может использоваться для memory to memory?Если мы об одной и той же статье, то в вики такого нет - это ваши собственные домыслы.Отобразить некоторый участок виртуального адресного пространства процесса на физическую память - это делает MMU оперируя PTE и кэшируя их в TLB, и IP-стек тут абсолютно не причем.Вы опять ничего не поняли ...
И MMU и PTE и TLB - детали аппаратной реализации, которые никак не решают проблемы:
1. Отобразить заданный виртуальный адрес на заданный физический;
2. "Объяснить" железке, что передача данных начинается с заданного физического адреса;
3. "Оповестить" приложение, что обмен завершён;
4. Предоставить все эти возможности приложению, не имеющему ни нужных привилегий, ни знаний не то, что о железке - об архитектуре сетевой подсистеме и об особенностях работы с драйверами устройств.Ну так скажите где он должен быть, вы вообще о нем не упомянули.Несущественная деталь, поэтому и не упомянул.
DMA - часть железки, поэтому, как максимум будет: "Net -> DMA", а правильно - "Hardware (with DMA) -> RAM -> API"
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38175372
Вообщем вы мне скажите, я правильно понял:
1. Давно было так, Net-hardware маппился на физические адреса kernel-buffer, а копирование kernel-buffer -> user-buffer делал CPU (было медленно из-за медленной FSB)
2. С появлением I/OAT, Net-hardware маппился на физические адреса kernel-buffer, а копирование kernel-buffer -> user-buffer делал DMA engine (преодолели ограничение FSB)
3. С переносом северного моста на один кристалл с CPU, в DMA отпала необходимость, т.к. исчезла FSB, DMA лишь добавлял задержку, а копирование kernel-buffer -> user-buffer с помощью CPU позволяло заодно и кэшировать в LLC. Да и ядер стало много и загружается не весь CPU, а только одно ядро (1/4 - 1/8) CPU.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38176545
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, неправильно вы поняли.
Есть две основные (и взаимоисключающие) схемы работы с железками в IBM PC (в хронологическом порядке):
1. Порты ввода-вывода
2. Отображение на память
Есть прямой доступ к памяти (тот самый DMA) - это способность железки управлять обменом с памятью без участия процессора.
Последнее тысячелетие, практически любое железо умеет и прямой доступ и отображение на память.
Есть различные API позволяющие управлять процессом отображения физический адресов на виртуальные - и API уровня ядра и API прикладного уровня.
Одна из целей разработки таких API - минимизировать копирование данных между адресными пространствами ядра и (пользовательских) процессов.

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

Возвращаясь к вашему желанию копировать данные между узлами NUMA, я бы хотел напомнить, что желания подгоняют под действительность, а не наоборот.
В частности, если у вас нет эффективного способа минимизировать обмен данными между узлами, то не исключено, что оптимальным окажется вариант обсчёта всех данных на одном узле.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38176613
Basil A. SidorovНет, неправильно вы поняли.
Есть две основные (и взаимоисключающие) схемы работы с железками в IBM PC (в хронологическом порядке):
1. Порты ввода-вывода
2. Отображение на память
Есть прямой доступ к памяти (тот самый DMA) - это способность железки управлять обменом с памятью без участия процессора.
Последнее тысячелетие, практически любое железо умеет и прямой доступ и отображение на память.

Ок. Пару вопросов.
1. В следующей цитате, возможно имеется ли ввиду отображение железки на память и куда, на kernel buffer?
2. Имеется ли ввиду DMA-копирование с этой отображенной на память железки в память user buffer?
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.9125 Most of the receive packet processing time [15] is spent in copying the data from kernel buffer to user buffer . ... I/OAT offloads this copy operation with an additional DMA engine.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38177602
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMA1. В следующей цитате, возможно имеется ли ввиду отображение железки на память и куда, на kernel buffer?Никуда. Железка обменялась данными с памятью - это физические адреса.
Программы (ядрёные или нет - неважно) работают в пространстве виртуальных адресов.
Если ядрёные и пользовательские адреса отображаются на один и тот же участок физической памяти - возникают проблемы безопасности, разграничения доступа и т.п. Если на разные - требуется копировать данные, что накладно.
Соответственно, под некоторые задачи делается API, которое "и волки сыты и овцы цели и пастуху - вечная память" :)2. Имеется ли ввиду DMA-копирование с этой отображенной на память железки в память user buffer?Нет - железка ничего не знает о виртуальных адресах.
Железка передаёт данные из "своего" адресного пространства в физическую память, всё остальное - на усмотрение операционной системы.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38177690
Basil A. SidorovRAM-RAM через DMA1. В следующей цитате, возможно имеется ли ввиду отображение железки на память и куда, на kernel buffer? Никуда . Железка обменялась данными с памятью - это физические адреса.
Программы (ядрёные или нет - неважно) работают в пространстве виртуальных адресов.
Если ядрёные и пользовательские адреса отображаются на один и тот же участок физической памяти - возникают проблемы безопасности, разграничения доступа и т.п. Если на разные - требуется копировать данные, что накладно.
Соответственно, под некоторые задачи делается API, которое "и волки сыты и овцы цели и пастуху - вечная память" :)2. Имеется ли ввиду DMA-копирование с этой отображенной на память железки в память user buffer?Нет - железка ничего не знает о виртуальных адресах.
Железка передаёт данные из "своего" адресного пространства в физическую память, всё остальное - на усмотрение операционной системы.
Ок. Значит в следующей цитате:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.9125 Most of the receive packet processing time [15] is spent in copying the data from kernel buffer to user buffer . ... I/OAT offloads this copy operation with an additional DMA engine.
Железка(сетевуха) никуда не отображается. И железка передаёт данные из "своего" адресного пространства в физическую память, которые не являются ни kernel-buffer, ни user-buffer, но непонятно зачем тогда они упомянуты в цитате :)
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38179053
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAЖелезка(сетевуха) никуда не отображается.Вообще-то - отображается.И железка передаёт данные из "своего" адресного пространства в физическую память, которые не являются ни kernel-buffer, ни user-buffer, но непонятно зачем тогда они упомянуты в цитате :)Бессмысленно передавать данные в никому недоступную память.
Пространства ядра и процесса (традиционно) различают на уровне операционной системы.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38179077
Basil A. SidorovRAM-RAM через DMA1. В следующей цитате, возможно имеется ли ввиду отображение железки на память и куда, на kernel buffer? Никуда .
Basil A. SidorovRAM-RAM через DMAЖелезка(сетевуха) никуда не отображается.Вообще-то - отображается .
Она отображается в никуда? :)
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38179098
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAM-RAM через DMAОна отображается в никуда? :)Она (железка) занимает определённый диапазон (физических) адресов. И в этом смысле она (железка) - никуда не отображается.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38179174
Basil A. SidorovRAM-RAM через DMAОна отображается в никуда? :)Она (железка) занимает определённый диапазон (физических) адресов. И в этом смысле она (железка) - никуда не отображается.
Basil A. SidorovВообще-то - отображается .
А как переводится mapped - отображаться?
http://lkml.indiana.edu/hypermail/linux/kernel/1105.0/00958.html mapped the mmio
The async_tx api only supports memory-to-memory transfers.
...
Рейтинг: 0 / 0
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
    #38180680
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задолбало уже, честно говоря.
Читайте организацию памяти. Виртуальные адреса, физические, механизмы трансляции ...
Мысленно поработайте диспетчером виртуальной памяти - картинка должна сложиться.
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]