[an error occurred while processing this directive]
|
о ней речи не идет, только одна из внутренних шин имеет доступ к внешнему интерфейсу в один момент времени. Внешний интерфейс рассматривается как такой-же блок однопортовой памяти, как и внутренние. В некоторых процах есть по два или более независимых интерфейса к внешней памяти. Кстати и в ARM-ах тоже самое встречается (например в ARM EPXA1...EPXA10 есть целых четыре внешних порта, правда шина внутри все таки одна, но когда она свободна, ей могут рулить DMA-контроллеры из ПЛИС-половины).
По моему опыту в большинстве задач 90% работы с внешней памятью обслуживает DMA-контроллер, пересылая блоки данных на обработку в быструю внутреннюю и обработанные обратно, снимая тем самым с процессора обязанность ждать относительно тормознутую внешнюю шину, а с программиста - следить за правильным расположением данных с точки зрения кешей данных (которые в многошинной структуре с блочной памятью в общем-то совершенно не нужны - что есть неслабый минус в площади кристалла).
Дополнительные дешифраторы и арбитр доступа с тормозилкой конвейера на конфликтах это естественная нагрузка к многошинной структуре, но она все-же того стоит, снимая ограничения единой широкой шины в части произвольного доступа к "мелким" данным.
А насчет алгоритмического решения, когда речь идет об одном такте на обработанное слово данных - оно очень даже редко находится. Конечно все от задачи и структуры данных зависит.
E-mail: info@telesys.ru