Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2017, 08:52   #21
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
наверное говорите про много-ранковые модули. Для этого случая предназначены выводы SA[0:2] (Select), которые задают конфиг контроллёр
ДА нет же. Они в обратную сторону действуют. Раньше они были CS потом стали SA.
А вот по поводу конфига. Тут есть 3 пути:
1) Методом тыка проверяем адреса и настраиваем из биоса.
2) Читаем SPD.
3) Аппаратно выполняем команду тестирования. (Не уверен, что ранки она покажет)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 18.08.2017, 10:17   #22
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..не пойму, если банк делит и столбцы, то всего получится уже не 4, а 16-банков (рассмативаю по такой схеме). Так что-ли?:

Код:
   4-банка со столбцами       4-банка без столбцов

  +----+----+----+----+       +-------------------+
  |    |    |    |    |       |                   |
  +----+----+----+----+       +-------------------+
  |    |    |    |    |       |                   |
  +----+----+----+----+       +-------------------+
  |    |    |    |    |       |                   |
  +----+----+----+----+       +-------------------+
  |    |    |    |    |       |                   |
  +----+----+----+----+       +-------------------+
..видимо не в ту степь меня понесло. Чуть позже разберусь с столбцами в банках, а пока нарыл тут схемку с DDR2, где пины идут в таком порядке. Просто по вашей ссылке описывается SDR, хотя инфа там исчерпывающая - спасибо!

Код:
Пины DDR2:
---------------
CK[2:0]  - дифференциальный клок;
CKE[1:0] - вкл\откл клока;

A[14:0] - мульти\адрес (стало 15-чистых бит);
BA[2:0] - номер банков (стало 8);

RAS\CAS\WE - остались прежними;
S[1:0]     - вместо CS# (ChipSel) используют просто 'Select';

SA[2:0] - SPD Address, для регистрации модулей;
SDA\SCL - SPD Data\Clock
Выходит что для адреса теперь используют не 15, а 18-бит (включая 3-бита банков), что позволяет адресовать уже: 262.142 Row\Col. Тогда получается макс.ёмкость одного чипа = 68.718.428.164 -бит. Кол-во строк в одном из восьми банков получится 32.767, для адресации которых потребуется чистых 15-бит. Таким-макаром можно организовать модуль с макс.ёмкостью 8-Гигабайт (1-ранк). Если модуль 2-хранковый, то уже 16-гигов. Видимо так получается что-ли..
Изображения
Тип файла: png 0073.png (11.6 Кб, 35 просмотров)
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 18.08.2017, 10:20   #23
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

МЕХАНИЗМ КОНФИГУРАЦИИ DIMM

Модули определяются системой через механизм (SPD) с итерфейсом i2C.
Интерфейс общается с устройством используя 2 сигнала: данные(SDA), и синхро(SCL).

Код:
   _____         1 - SA0 - SPD Addr
  |     |        2 - SA1 - SPD Addr
--|1   8|---     3 - SA2 - SPD Addr
--|2   7|---     4 - Ground
--|3   6|---     5 - SDA - Data
--|4   5|---     6 - SCL - Clock
  |_____|        7 - WC - Write Control (Write Mode)
                 8 - Voltage
Каждый модуль памяти DIMM имеет свой 7-битный адрес, который разделён на 2 части.
Старшие 4-бита А[6:3] определяют тип устройства, и для всех м\схем SPD всегда равны 1010.
Младшие 3-бита А[2:0] выделены под индивидуальный номер модуля, который задаётся коммутацией лог\уровней 0 и 1, подаваемых на адресные входы SA[2:0] м\схемы SPD.

Код:
   DIMM-1            DIMM-2            DIMM-3            DIMM-4

  +---- SA2     +3v >>--- SA2         +---- SA2         +---- SA2
  |                                   |                 |
  +---- SA1         +---- SA1     +3v------ SA1     +3v-+---- SA1
  |                 |                 |
  +---- SA0         +---- SA0         +---- SA0         +---- SA0
 _|_               _|_               _|_               _|_
 ===               ===               ===               ===
Соответственно, адрес первого модуля DIMM в системе будет 1010.000, второго 1010.100, третьего 1010.010, четвёртого 1010.110. Встречаются современные контроллёры памяти (встроенные в ЦП), которые опреляют модули DIMM программным способом, тупо опрашивая все по-очереди и выделяя им номера по возрастанию (макс.8 модулей). Таким-же способом регистрировались и модули RIMM (Rambus).
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сегментная организация памяти ArmanPrestige Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.12.2013 03:13
страничная организация памяти Алексей_Warm Общие вопросы C/C++ 2 21.11.2012 14:56
Организация динамической памяти MrBlackD C++ Builder 1 19.10.2012 22:39
Организация памяти в защищенном режиме. BigBong Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.09.2011 11:58
Страничная организация памяти weak_smile Помощь студентам 2 24.12.2010 15:44