Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMA, Дык чего ж вы тогда спрашиваете есть ли такая возможность, когда в ссылке которую вы привели прямо написано что поддержка IOAT (включая прикрепление страниц вирт. памяти на время операции) добавлена в Линуксе начиная с 2.6.18 и в Винде с 2003sp1 (2006). Только я вот думаю, что эта фича доступна только в режиме ядра, но не юзерскому коду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2013, 09:41 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2013, 10:23 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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 и получал ли от этого профит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2013, 16:26 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMAТ.е. тесты врут и в BestPractice от nVidia ошиблись и DMA-пересылка RAM -> Device (видеокарточка) медленнее чем это делает CPU? ... Я лишь копирую цитаты из Intel, а вы называете это бредом.Вы цитируете, не понимая смысла. Во всех ваших "примерах" с памятью общаются периферийные устройства. Обмен память-железка. В этом случае - да, пересылка под управлением ЦПУ менее эффективна, нежели пересылка под управлением самой железки. Но задача, которую вы решаете - другая. И в этой задаче нет места периферии. Просто потому, что пересылку память-память быстрее всех делает именно ЦПУ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2013, 11:35 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2013, 16:25 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMAОбмен памяти с какой периферийной железкой производит интеловская функция async_memcpy.c ?Замечание про "не понимая смысла" остаётся в силе: Код: sql 1. P.S. Укажите, кто (кроме ЦПУ) умеет (быстро или медленно) копировать память-память и мы продолжим обсуждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 16:13 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovRAM-RAM через DMAОбмен памяти с какой периферийной железкой производит интеловская функция async_memcpy.c ?Замечание про "не понимая смысла" остаётся в силе: Код: sql 1. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 18:01 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMAОчевидно, что тупым копированием не должно заниматься такое сложное устройство как ядро CPU. а в Майкрософт почему-то решили иначе. Значит - неочевидно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 18:08 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
ИзопропилRAM-RAM через DMAОчевидно, что тупым копированием не должно заниматься такое сложное устройство как ядро CPU. а в Майкрософт почему-то решили иначе. Значит - неочевидно В майкрософт решили не использовать NetDMA, не очевидно что они отказались от копирования DMA память-память, может они теперь делают это используя другое/по другому названное устройство? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 18:20 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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-системы) это никак не влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 19:21 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovв пользовательскую память процессора требует много времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 19:23 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2013, 20:04 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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. Вообще не относится к делу, т.к. представляет собой несущественные (аппаратные) детали процесса обмена между периферией и ОЗУ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2013, 15:42 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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) находится не в том месте; Ну так скажите где он должен быть, вы вообще о нем не упомянули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2013, 16:15 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2013, 18:20 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
Вообщем вы мне скажите, я правильно понял: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 03:45 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
Нет, неправильно вы поняли. Есть две основные (и взаимоисключающие) схемы работы с железками в IBM PC (в хронологическом порядке): 1. Порты ввода-вывода 2. Отображение на память Есть прямой доступ к памяти (тот самый DMA) - это способность железки управлять обменом с памятью без участия процессора. Последнее тысячелетие, практически любое железо умеет и прямой доступ и отображение на память. Есть различные API позволяющие управлять процессом отображения физический адресов на виртуальные - и API уровня ядра и API прикладного уровня. Одна из целей разработки таких API - минимизировать копирование данных между адресными пространствами ядра и (пользовательских) процессов. И есть, наконец, процедура копирования невыровненных байтовых массивов. Оптимизированная общая версия такой процедуры содержит сдвиги и лучше процессора никто её не выполнит. По крайней мере, пока не встроят нужный функционал прямо в чипы памяти. Возвращаясь к вашему желанию копировать данные между узлами NUMA, я бы хотел напомнить, что желания подгоняют под действительность, а не наоборот. В частности, если у вас нет эффективного способа минимизировать обмен данными между узлами, то не исключено, что оптимальным окажется вариант обсчёта всех данных на одном узле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 18:58 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2013, 20:02 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMA1. В следующей цитате, возможно имеется ли ввиду отображение железки на память и куда, на kernel buffer?Никуда. Железка обменялась данными с памятью - это физические адреса. Программы (ядрёные или нет - неважно) работают в пространстве виртуальных адресов. Если ядрёные и пользовательские адреса отображаются на один и тот же участок физической памяти - возникают проблемы безопасности, разграничения доступа и т.п. Если на разные - требуется копировать данные, что накладно. Соответственно, под некоторые задачи делается API, которое "и волки сыты и овцы цели и пастуху - вечная память" :)2. Имеется ли ввиду DMA-копирование с этой отображенной на память железки в память user buffer?Нет - железка ничего не знает о виртуальных адресах. Железка передаёт данные из "своего" адресного пространства в физическую память, всё остальное - на усмотрение операционной системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2013, 17:22 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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, но непонятно зачем тогда они упомянуты в цитате :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2013, 18:35 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMAЖелезка(сетевуха) никуда не отображается.Вообще-то - отображается.И железка передаёт данные из "своего" адресного пространства в физическую память, которые не являются ни kernel-buffer, ни user-buffer, но непонятно зачем тогда они упомянуты в цитате :)Бессмысленно передавать данные в никому недоступную память. Пространства ядра и процесса (традиционно) различают на уровне операционной системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 18:54 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovRAM-RAM через DMA1. В следующей цитате, возможно имеется ли ввиду отображение железки на память и куда, на kernel buffer? Никуда . Basil A. SidorovRAM-RAM через DMAЖелезка(сетевуха) никуда не отображается.Вообще-то - отображается . Она отображается в никуда? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 19:26 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
RAM-RAM через DMAОна отображается в никуда? :)Она (железка) занимает определённый диапазон (физических) адресов. И в этом смысле она (железка) - никуда не отображается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 19:55 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 21:41 |
|
||
|
Применяется ли в C/C++ для std::copy/memcpy копирование RAM->RAM через DMA?
|
|||
|---|---|---|---|
|
#18+
Задолбало уже, честно говоря. Читайте организацию памяти. Виртуальные адреса, физические, механизмы трансляции ... Мысленно поработайте диспетчером виртуальной памяти - картинка должна сложиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 02:54 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38179077&tid=2020383]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
170ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 283ms |
| total: | 562ms |

| 0 / 0 |
