-
- не ругайси :), а то я скажу, что ещё и port-mapped IO - тоже пора мастдай. - Д.ARMоед(21.10.2013 22:29)
- В портмаппед IO большой смысл. Это отдельное адресное пространство. Как и RAM/ROM в гарвардской архитектуре. А смысл в том, что в процах без MPU или MMU попытка сделать memset(rand(), rand(), rand()) не кончится каким попало IO, что может fk0(123 знак., 22.10.2013 15:11)
- а тут тоже отдельные логические адресные пространства. и всё проще пареной репы. для 64-бит указателя - первые 32бит- отводятся на указатель "слоя" или вьюху (по-дб'шному) на 4ГБ физическое пространство. физический офсет объекта будет одинаковый Д.ARMоед(186 знак., 22.10.2013 16:34)
- Для этого MMU нужен. Я больше о контроллерах проф. уровня думаю. - fk0(22.10.2013 16:37)
- ну и как подвесить DMA на это отдельное адресное пространство? городить мост DMA-DIOA ? прелестно. - Mahagam(22.10.2013 15:16)
- дма работает без участия проца. а fk0 вроде о том, как процу получить отдельные адресные пространства..? - Д.ARMоед(22.10.2013 16:15)
- угу, отдельные. и накуя мне периферия в отдельном адресном если я к ней через DMA не достучусь? - Mahagam(22.10.2013 16:29)
- DMA может работать с расширенным (на пару бит) адресным пространством в которое будут замаплены и порты. А для CPU порты только через порты, но не через память. - fk0(22.10.2013 15:44)
- оу. нам только 33-битной арифметики нехватало. ага. - Mahagam(22.10.2013 15:49)
- DMA не нужно. - fk0(22.10.2013 15:42)
- Кхм... не согласен! - Evgeny_CD(22.10.2013 15:42)
- Тут очень много говорят на тему DMA, но расскажите, кто его применяет там, где оно действительно нужно? Слова "DMA" и "Кортекс" можно уже не воспринимать всерьёз. - fk0(22.10.2013 15:44)
- Двигаю быстро буферы в реалтаймовом спектроанализе. - Хитрый Китаец(22.10.2013 17:01)
- Ethernet, USB, SD, LCD - первое, что приходит на ум. - Evgeny_CD(22.10.2013 15:47)
- Это всё делается и без DMA. Или, бывает соответствующая периферия попросту сама оперирует определённым регионом памяти, но никто не называет это словом "DMA". Последнее всё таки подразумевает некий общий, не специфичный для конкретного случая, fk0(373 знак., 22.10.2013 15:53)
- блеать, у меня даже все UART`ы на DMA сидят. - Mahagam(22.10.2013 15:50)
- Вот я и говорю -- DMA не нужен. - fk0(22.10.2013 16:33)
- аа. пяток уартов на 115200. 100 тыщ прерываний в секунду - это конечно же кошерно, ага. - Mahagam(22.10.2013 16:59)
- В чем-то товарищ прав, нельзя не признать. Специализированный сопроцессор ввода-вывода со своим отдельным кодом был бы, возможно, еще лучше, но редки они в современных архитектурах. - Evgeny_CD(22.10.2013 17:19)
- у меня их аж два в камне. и нахер они мне нужны, если DMA хватает? Mahagam(33 знак., 22.10.2013 17:57)
- ARM'овский DMA-330 имеет свой набор инструкций и умеет кэшировать эти инструкции и исполнять их из общей системной памяти. Чем не сопроцессор ввода-вывода? - DMA330(22.10.2013 17:52, )
- Самый что ни на есть IO сопроцессор. Вложено. Evgeny_CD(22.10.2013 18:00)
- где оно в железе есть? - Mahagam(22.10.2013 18:07)
- Xilinx Zynq®-7000, Altera's Cyclone® V SE,SX,ST, Arria® V SX,ST. - DMA330(22.10.2013 18:12, )
- В вибридах такого DMA нету. В SAMA5D3 тоже. - Evgeny_CD(22.10.2013 20:56)
- оу, какие ходовые камни - Mahagam(22.10.2013 18:16)
- Xilinx Zynq®-7000, Altera's Cyclone® V SE,SX,ST, Arria® V SX,ST. - DMA330(22.10.2013 18:12, )
- где оно в железе есть? - Mahagam(22.10.2013 18:07)
- Самый что ни на есть IO сопроцессор. Вложено. Evgeny_CD(22.10.2013 18:00)
- В чем-то товарищ прав, нельзя не признать. Специализированный сопроцессор ввода-вывода со своим отдельным кодом был бы, возможно, еще лучше, но редки они в современных архитектурах. - Evgeny_CD(22.10.2013 17:19)
- аа. пяток уартов на 115200. 100 тыщ прерываний в секунду - это конечно же кошерно, ага. - Mahagam(22.10.2013 16:59)
- Вот я и говорю -- DMA не нужен. - fk0(22.10.2013 16:33)
- Тут очень много говорят на тему DMA, но расскажите, кто его применяет там, где оно действительно нужно? Слова "DMA" и "Кортекс" можно уже не воспринимать всерьёз. - fk0(22.10.2013 15:44)
- Кхм... не согласен! - Evgeny_CD(22.10.2013 15:42)
- дма работает без участия проца. а fk0 вроде о том, как процу получить отдельные адресные пространства..? - Д.ARMоед(22.10.2013 16:15)
- а тут тоже отдельные логические адресные пространства. и всё проще пареной репы. для 64-бит указателя - первые 32бит- отводятся на указатель "слоя" или вьюху (по-дб'шному) на 4ГБ физическое пространство. физический офсет объекта будет одинаковый Д.ARMоед(186 знак., 22.10.2013 16:34)
- Хм.... в общем, верно, и мысль примерно их того же "куста"... - Evgeny_CD(21.10.2013 22:37)
- да, "мопеду" уже лет триста.. и что-то подсказывает мне, что с выходом arm-64 всё только начнётся. Д.ARMоед(21.10.2013 22:43 - 22:46)
- Зерокопи - это все же про другое, про отсутствие лишних операций с готовыми объектами в памяти. А вот вместо того, чтобы тратить 32 бита константы на адресацию регистра таймера, потратить 8 или 16 бит - это гораздо полезнее на практике. Кстати, в Evgeny_CD(134 знак., 21.10.2013 22:47 - 22:54)
- О да, 64 битный указатель на регистр таймера - он ведь в 2 раза круче 32 битного указателя? :) - Evgeny_CD(21.10.2013 22:48)
- да, "мопеду" уже лет триста.. и что-то подсказывает мне, что с выходом arm-64 всё только начнётся. Д.ARMоед(21.10.2013 22:43 - 22:46)
- В портмаппед IO большой смысл. Это отдельное адресное пространство. Как и RAM/ROM в гарвардской архитектуре. А смысл в том, что в процах без MPU или MMU попытка сделать memset(rand(), rand(), rand()) не кончится каким попало IO, что может fk0(123 знак., 22.10.2013 15:11)
- не ругайси :), а то я скажу, что ещё и port-mapped IO - тоже пора мастдай. - Д.ARMоед(21.10.2013 22:29)