@JustSokol
newby programmer

Как реализуется двухканальный режим работы памяти в контроллере памяти (архитектурно/логически/схемотехнически)?

Интересно что из себя представляет в современных пк контроллер памяти.
Из того что понятно - как работает оператива - подается адресс на шину адреса - производится выборка ячейки - с ячейки с каждого бита подается его состояние на пины/линии шины данных.
Планка имеет предельную скорость работы элементов - отсюда ограничение по частоте.

Теперь интересует как реализуется двухканальный режим в электронике архитектурно (на уровне примерно схемотехники).
Я так понимаю по возможности стараются опрашивать поочередно то один канал, то другой, в итоге внешне частота обращения к памяти теоретически х2.
Но как решается если в двух соседних тактах опрашивается ячейки памяти на одном канале - планка не может работать выше своей частоты. Он просто ждет?

ПС: гугл выдает только статьи на уровне о том как школьнику засунуть планки памяти в свой ПеКа чтобы был двухканальный режим XD
  • Вопрос задан
  • 655 просмотров
Пригласить эксперта
Ответы на вопрос 2
hahenty
@hahenty
('•')
2-х канальный режим это и есть одновременный опрос в 2 места.

В самом идеальном случае скорость доступа максимальна, когда запрос идет в разные физические планки, тут понятно, что каждая планка со своим контроллером занята только своими данными.

Но часто случается так, что запрос идет в одну планку, тогда придется ждать — так одноканально.

Для решения этой оказии существует алгоритм доступа, когда адреса и операции от процессора суются в буфер, а оттуда контроллер памяти делит адреса по планкам, если может.

Схемотехнически на шине между процессором и планками памяти взамен старого одноканального появляется контроллер поувесистее, с которым контроллеры планок общаются как если бы общались по одному каналу. В контроллере появляются блок распределения адресов и второй буфер, наверно. Грубо говоря, по адресу из процессора просто выбирается, какую планку "прерывать". А видимая одновременность запросов достигается за счет конвейерности доступа в планках памяти.

Выборка из памяти происходит целыми блоками — дают начальный адрес, длину и операцию, затем все это отправляют на шину, потом по прерываниям читают или пишут данные уже без указания адреса. В планках памяти устроен свой конвейер, который самостоятельно обрабатывает запросы. Так как чтение на шине происходит быстрее чтения из ячеек, то какое-то время все равно приходится ждать, зато освобождается шина.

Так мне думается.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Ничего не происходит, все ждут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы