|
Заблокирован
|
||||||
Memory shift или самый быстрый способ перемещения блока памяти30.10.2014, 18:45. Показов 7088. Ответов 50
Метки нет (Все метки)
Речь идёт о памяти DDR SDRAM. 1. Может есть специальные процессорные команды процессоров последних поколений для такого перемещения памяти? 2. Может есть специальный тип памяти, не который позволяет делать memory shift? 3. Может есть специальный тип процессора для этих целей? P.S. ассемблерный код приветствуется.
0
|
||||||
| 30.10.2014, 18:45 | |
|
Ответы с готовыми решениями:
50
Самый быстрый способ решения задачи a+b
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|
| 30.10.2014, 20:11 | |
|
0
|
|
|
Заблокирован
|
|||||||
| 30.10.2014, 20:15 [ТС] | |||||||
0
|
|||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||||||
| 30.10.2014, 20:19 | ||||||
|
могу предложить такой вариант, в рамках языка
допустим тебе нужен буфер из 10 ячеек, выделяем 20
Добавлено через 1 минуту никаких копирований но памяти в два раза больше
1
|
||||||
|
Заблокирован
|
|
| 30.10.2014, 20:26 [ТС] | |
|
ValeryS, так что на счёт копирования видео памяти в видео память ?
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 30.10.2014, 20:30 | ||
|
0
|
||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||
| 30.10.2014, 20:33 | ||
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||
| 30.10.2014, 20:36 | |||
|
0
|
|||
|
Студент
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503
|
||
| 30.10.2014, 20:37 | ||
|
0
|
||
|
|
||||||
| 30.10.2014, 20:46 | ||||||
Сообщение было отмечено -THE_MASTER666- как решение
Решение
При чём тут DMA, CUDA и видеопамять, если речь идёт конкретно об RAM ПК, с которой и работает пример из первого поста?
GCC. x86. Почти идеальный вариант (как было сказано выше через rep movsd):
Не по теме: -THE_MASTER666-, а тебе не кажется, что ты лезешь в недостижимые на данный момент для тебя дебри? Ведь ты же даже толком и не знаешь что тебе нужно.
0
|
||||||
|
Заблокирован
|
|||||
| 30.10.2014, 20:59 [ТС] | |||||
![]() Вот если б такое было для больших блоков памяти... А ток то, всего 4 байта, ну или 8 в случае х64, что ясен пень связанно с размером регистров процессора. Ну вот представьте себе поезд на рельсах, длинной в один перрон. Он припаркован на перроне и занимает всю его длину. Я подошёл к поезду сзади и пнул его ногой (я супер мэн) и поезд покатился по рельсам и допусти остановился тогда, когда только что ушёл с перрона, вот он и сдвинулся на длину своего состава, то есть он сдвинулся. А вот если б он скопировался, тогда бы ситуация была следующей: На участке за перроном прибегает бригада инженеров со сварщиками и начинает там собирать там поезд прямо на рельсах, когда соберут, они могут даже разобрать первый поезд (обнулить), если потребуется. Но всё это долго, гораздо быстрее его просто сдвинуть. Добавлено через 1 минуту Не по теме:
Добавлено через 3 минуты castaway, спасибо за пример, поизучаю (почему то спасибо сказать нельзя). Сейчас времени уже нет - ушёл.
0
|
|||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 30.10.2014, 21:06 | ||
Сообщение было отмечено -THE_MASTER666- как решение
Решениеесли ты имеешь ввиду регистр процессора то к памяти это отношения не имеет для того чтобы сдвинуть в памяти нужно считать в регистр, сдвинуть и записать обратно в память итого 1 чтение 2 модификация 3 запись что больше чем просто копирование 1 чтение 2 запись а уж тем более чем чтение/ запись одной командой movsd
1
|
||
|
Заблокирован
|
|||||||
| 30.10.2014, 21:31 [ТС] | |||||||
__movsd(a1, a2, 10); - эта штука сама строку формирует, которую ты вручную вбивал
0
|
|||||||
| 30.10.2014, 21:42 | |
|
0
|
|
|
|
||
| 30.10.2014, 22:13 | ||
Сообщение было отмечено -THE_MASTER666- как решение
Решение
А с какой целью делается сдвиг памяти? А то вполне возможно, что проблема вовсе не в сдвиге, а в алгоритме, который требует сдвигать память. А если всё-таки нужно двигать память, то можно выдрать исходники memmove/memcpy из glibc
Добавлено через 2 минуты
1
|
||
|
Студент
121 / 132 / 39
Регистрация: 07.04.2011
Сообщений: 503
|
|||
| 30.10.2014, 22:29 | |||
|
Добавлено через 5 минут
0
|
|||
|
Заблокирован
|
||
| 30.10.2014, 22:31 [ТС] | ||
|
Отдалённо это похоже на дефрагментацию HDD. Ладно, нет шифта, ну и ладно... Всем спасибо
0
|
||
|
|
|||
| 30.10.2014, 22:32 | |||
|
Добавлено через 45 секунд
0
|
|||
|
Заблокирован
|
|
| 30.10.2014, 22:40 [ТС] | |
|
0
|
|
|
|
|
| 30.10.2014, 22:54 | |
|
Тогда задам следующий вопрос, который будет вполне очевидным и до банальности идиотским: а зачем?
Не по теме: Сразу вспомнился анекдот. Сидит негр в norton commander'е, поёт "i like to move it move it" и нажимает F6-Tab-F6-Tab...
1
|
|
|
Заблокирован
|
||
| 30.10.2014, 23:06 [ТС] | ||
![]() У меня тут есть вопрос по этой дефрагментации: 1. В SDRAM в плане скорости чтения / записи есть разница между чтением блоков одинаково размера из случайных позиций в адресном пространстве памяти или же из последовательной цепочки? Не то есть если я читаю просто рандомом какие - то ячейки памяти, у меня скорость одна (Synchronous Dynamic Random Access Memory - собственно и создан для рандом аксеса), но вот вопрос, быстрее будет произведено чтение, если я буду читать ровно столько же блоков памяти и ровно такого же размера, в случае, если они в адресном пространстве расположены один за другим поровозиком ?
0
|
||
| 30.10.2014, 23:06 | |
|
Считать квадратную матрицу. Какой самый быстрый способ это сделать? Каков самый быстрый способ узнать количество строк в оргомном текстовом файле в Windows?
Самый быстрый способ склеивания строк Какой способ рисования самый быстрый? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|