Цитата(void F() @ Sep 13 2014, 20:33)

возникают сложности при чтении: данные приходят не сразу, а через несколько тактов. На потоковое чтение это почти не влияет, а при единичном доступе к определенному адресу серьезно падает скорость.
Как решается этот вопрос? Есть ли такие проблемы в современных системах?
зависит от объемов памяти с которым необходимо оперировать. Чем больше линейно адресуемый объем - тем больше латентность. с этим сделать принципиально ничего нельзя, здесь всё упирается в предел технологии.
on-chip SRAM, ZBT/noBL, Late write/PBSRAM, QDR/QDR II+ SRAM, RLDRAM, DDR/DDR2/DDR3, SATA-диск наконец - у всех свои задержки на чтение.
а дальше всё зависит от целей алгоритма.
если это задача поиска - варианты одни
если вычислительная задача - то варианты другие
но варианты всегда алгоритмические, от применяемой технологии берутся только исходные вводные - размерность слова в битах, разрядность шины адреса, латентность на чтение, максимальная тактовая частота.
поток дает возможность замешивать в него в начало/конец/другое определенное место данные для последующей обработки в остальных блоках, и этим надо пользоваться.
использовать по 3 разных вида внешней памяти, общим количеством 10 штук, прицепленных к 3 ПЛИСинам, по одной микросхеме памяти на определенный вид операции - это нормальное явление на сложных потоковых задачах. Правда такое делается только если нужна действительно огромная скорость.