|
Заблокирован
|
||||||
Memory shift или самый быстрый способ перемещения блока памяти30.10.2014, 18:45. Показов 7101. Ответов 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?
Самый быстрый способ склеивания строк Какой способ рисования самый быстрый? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
сукцессия 37. Внедрил дипсик в свой оркестр из ИИ. У него закончилось пространство чата, потому опубликую выводы из его работы здесь
anaschu 21.07.2026
====================================================================
КОНТЕКСТ: Моделирование микоризной сукцессии (AM → ECM)
====================================================================
. . .
|
сукцессия 36. Делаю прогоны модели около порога бифуркации (превращения эндо микоризы в экто микоризу)
anaschu 21.07.2026
СУКЦЕССИЯ МИКОРИЗ: КАК МАТЕМАТИКА ОБЪЯСНЯЕТ ПОДЗЕМНУЮ ВОЙНУ
Мы привыкли думать, что лес — это деревья. А грибы — это то, что мы собираем в корзинку осенью. Но если заглянуть под землю, окажется,. . .
|
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|