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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2017, 23:13   #1
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию Организация памяти SDRAM

Всем привет!
Зашёл в тупик, разбираясь с ядром памяти DDR. Как там чё организовано, и сколько бит выделяется для строки и столбца. Есть у кого нибудь современная инфа.. Ато всё про FMP\EDO\BEDO, которые давно уже трупы..
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 14.08.2017, 23:27   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

A[12:0] 13-бит не позволяют адресовать память больше гига. Как адресуют более одного Гигабайт?
8 (вместо четырёх) банков увеличат ёмкость только вдвое - 2 гигабайт. Чё там передаётся по шине адреса с процессора в память?
Нашедшего выход - затаптывают первым..

Последний раз редактировалось R71MT; 14.08.2017 в 23:30.
R71MT вне форума Ответить с цитированием
Старый 14.08.2017, 23:43   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Так там вроде отдельные адреса для rows и cols - в сумме побольше будет...

А как это относится к ассемблеру?
waleri вне форума Ответить с цитированием
Старый 14.08.2017, 23:50   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
в сумме побольше будет...
..сколько именно не вкурсе вы? Везде всё расплывчато, вродебы-какбудто.., но ничего конкретного.

64-бит шина данных, сколько для адреса? И какая там битовая карта?
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 15.08.2017, 06:06   #5
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Всё подчиняется стандартам jedec искать по ключевым словам jedec ddr specification pdf
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 15.08.2017, 06:39   #6
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Вспомнил чтр ddr2 и ряд gddr им не принадлежит.
Зато spd на ddr2 числится за ними. Ddr2 вроде как закрытый стандарт, зато даташитов на конечное изделие с норм описанием хватает.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 15.08.2017 в 06:51.
Pavia вне форума Ответить с цитированием
Старый 15.08.2017, 06:49   #7
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

планки DIMM http://www.integralmemory.com/sites/...DIMM-GUIDE.pdf
240-pin DIMM DDR2 http://www.kingston.com/datasheets/K...2D4F5K2_8G.pdf
DDR http://cs.ecs.baylor.edu/~maurer/CSI5338/JEDEC79R2.pdf
DDR2 http://cs.ecs.baylor.edu/~maurer/CSI5338/JESD79-2B.pdf
Обобщённая информация по разной памяти https://www.altera.com/content/dam/a...y/emi_plan.pdf

Резуме память на материнке как правило состоит из двух каналов A и B (бывает и 3 или 4). Каждый канал имеет по 2 слота для планок памяти. Выбор канала и слота осуществляется по сигналам CSA [1..0] и CSB [1..0].

Каждая планка состоит из нескольких чипов памяти. Суммарно соединены так чтобы линий данных было 64. И опционально 16 линий коррекций кода.

Чипов может быть разное число как правило 8 или 16. Если чипов 16, то просто одна из линий CS или A задействуется для выбора стороны планки DIMM.

Каждый чип-модуль состоит из банков памяти. В DDR их 4 у остальных DDR2, DDR3, DDR4 их 8 штук. Выбираются они линиями BA[2..0]

Каждый банк эта страница памяти состоящая из строк и столбцов. Строк и столбцов бывает разное число. Конкретно указано в SPD, или даташите на чипы. Но вас это волновать не должно в вашем распоряжение A[15..0] адресов, которые непрерывны.
Количество адресов определят стандарт на DDR. У DDR1 их A[13..0] у DDR2 A[15..0]
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 15.08.2017 в 09:44.
Pavia вне форума Ответить с цитированием
Старый 15.08.2017, 08:50   #8
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
A[12:0] 13-бит не позволяют адресовать память больше гига.
- это как так? Я насчитал 16383 значения. Как у Вас получислся Гиг? Поделитесь секретиком.
Cuprum5 вне форума Ответить с цитированием
Старый 15.08.2017, 11:43   #9
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
- это как так? Я насчитал 16383 значения.
Так он считал для A[12:0] 13-бит, а там их на самом деле A[13:0] 14-бит! Один дополнительный.

Так всё верно DDR1 ограничен 1 Гигабайтом.
4 банка умножить умножить на 2^14 адресов умножаем на 128 линии данных= 4*16384*128=8388608
8388608/8=1048576 = 1 ГБайт

Вот только в DIMM модулях 64 линии данных (72 включая коды коррекции). Поэтому реально только 512 МБайт. Зато ранков может быть много(они же CS). За счёт них и выбираются дополнительные адреса. На одном DIMM может быть 8 или 16 чипов. Если их 16 то один CS используется для их выбора.

А в DDR2 и далее просто наращивали число адресов и ранков.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 15.08.2017 в 13:03.
Pavia вне форума Ответить с цитированием
Старый 15.08.2017, 20:23   #10
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Но вас это волновать не должно в вашем распоряжение A[15..0] адресов, которые непрерывны.
Цитата:
Сообщение от Pavia Посмотреть сообщение
Если их 16 то один CS используется для их выбора.
Pavia спасобо за ответ. Вы молодчик..
Только CS# вообще не юзает современная память. Вместо CS# сейчас S[3-0] сигналы. Чип селект всегда включён, для пакетной передачи, а байты контролируют маска DQM.

Трындец они там завертели, поэтому и спрашиваю.. 15-бит позволяют адресовать только гиг памяи (два старших бита - банки), а как адресуют 8-16-гиговые модули?
Нашедшего выход - затаптывают первым..
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