А что если...прикошачить к МК планку DDR памяти?
- regenerator
- Мучитель микросхем
- Сообщения: 462
- Зарегистрирован: Ср ноя 21, 2007 19:04:23
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
regenerator писал(а):А зачем вообще прикашачивать ОЗУ к МК? Чего полезного можно из этого сделать?
Ну вот мне, например. нужно реально около 1МБ ОЗУ для МК для проекта с LCD экраном, чтобы хранит там анимационные последовательности и там их МНОГО. Даже пока не знаю, чего делать. Может FLASH попробовать, как хранилище,но мне скорость нужна 300-500Кб/сек. Фиг знает понятнет или нет, но FLASH тоже ацтой, из-за ограничеггого количества перезаписей. Лучше ОЗЦ не придумать.
Долой идиотизм!
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
nds писал(а):Насчет того куда применить - я бы такую связку в "цифровом" осцилографе использовал бы но у такой памяти есть большой недостаток - ее регенерировать надо - контроллер типа меги с этим не справитсям такчто прийдется обвязку на логике лепить или еще что нибудь придумывать:(
>> by me
Наконец про рефрешинг. Из стндарта JEDEC на DDR память, вычитал что она обладает функциями авто-рефрешинга, что правда приводит к паузе в десятки миллисекунд, но тем не менее.
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
nds писал(а):Ccылку пожалуйста мне кажется не стали бы вводить стандарт с такими задержками
JEDEC DDR Standard
Страница 20 в стандарте или 26 по нумерации акробат-ридера.
Прочитал еще раз. Похоже я не так понял фразу из стандарта (про 68мс) в общем надо посидеть попереводить, факт что есть штуки типа авто-рефреш и селф-рефреш. Ведь для того чтобы при работе она рефрешилась не стоит же вокруг обвеска на материнке и вряд ли чипсет грузит шину командами последовательного рефреша. Все это реализовано в самих микросхемах. А как именно применяется и работает, надо читать, я особо не разбирался
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
да. Походу за 68 мс память должна быть полностью обновлена. Для этого надо взять число строк (rows) памяти и разделить 68мс на это число, получим среднее время обновления одной линии, т.е. в ходе рефрешинга (они приводят результаты для 256 МБ) каждая линия будет недоступна в теченние 7,8 мкс каждые 64 мс. типа того?
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
nds писал(а):интересный документ
еще не разбирался но self refreshing вроде то что надо
зы компьютеру не надо заниматься регенерацией специально так как все время работы память пишется и читается а та к-я не используется в регенерации соответственно и не нуждается
не, ну как же: я запустил фотошоп, он занес в память 400 Метров информации, я переключился на блокнот пишу там что-то. Память фотошопа лежит не дергается, чтоб не подохнуть она должна регенерироватся!
А так как никто не будет выборочно регенерировать определенные участки памяти, то по ходу должа регенеритса вся память, даже та которая не занята процессами, а то будет там рендомно себе переключатса...
Вот где бы достать схему взаимодействия с этой планкой...а то стандарт есть, схема выводом есть а как с ней общаться - нет.
Что до стандарта, то там насколько я понял спецификация отдельной микросхемы DDR и описаны аспекты ее работы а не всей планки в целом
- NiTr0
- Друг Кота
- Сообщения: 3051
- Зарегистрирован: Пт авг 10, 2007 12:49:55
- Откуда: kr.ua
- Контактная информация:
vchik писал(а):Что до стандарта, то там насколько я понял спецификация отдельной микросхемы DDR и описаны аспекты ее работы а не всей планки в целомвот так
А что, поведение микросхем меняется после их напайки на плату?
По сабжу: в свое время смотрел в сторону SDRAM, была задумка тестер модулей наваять, в ДШ на микрухи SDRAM указан диапазон частот тактирования... МК софтово не справится. Только ПЛИС.
А рефреш - это вроде как актуально только для SIMM/EDO DIMM, в SDRAM он вроде как автоматический... Хотя - читал давно, могу ошибаться.
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
Какаято часть конечно в свопе оказывается но в оперативе всегда почти половина сидит. Как правильно заметил товарищ myurrey (для интереса погонял диспетчер задач на эту тему) и вправду как только сворачиваешь приложение тут же освобождается большая часть оперативки. Но когда приложение открыто и работает - в оперативке фотошоп КС3 весело кушает 80 Мб после запуска и в ходе работы он устремляется в сотни и т.д.
Я имею в виду как организуется взаимодействие этих микросхем друг с другом как они делят адресные выводы и прочую такую фигню. Хотя правильное замечание. ВОзможно они наращиваются элементарно и в стандарте все это есть, надо покопаться....
Ну эта насильность заключается в передаче ей определнной управляющей команды с установленным интервалом. Думаю это не страшно
А что, поведение микросхем меняется после их напайки на плату?
Я имею в виду как организуется взаимодействие этих микросхем друг с другом как они делят адресные выводы и прочую такую фигню. Хотя правильное замечание. ВОзможно они наращиваются элементарно и в стандарте все это есть, надо покопаться....
ВСЕ ОЗУ, которая есть в компе надо рефрешить насильно
Ну эта насильность заключается в передаче ей определнной управляющей команды с установленным интервалом. Думаю это не страшно
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
vchik писал(а):ВСЕ ОЗУ, которая есть в компе надо рефрешить насильно
Ну эта насильность заключается в передаче ей определнной управляющей команды с установленным интервалом. Думаю это не страшно
передачи команды КОМУ? Точнее "чему"?
Чипы сами по себе никаких рефреш команд не понимают.
Это контроллер памяти команды понимает, а сами чипы никаких команд рефреша не имеют, их надо рефрешить стробом по описанной для них процедуре. А присобачивать еще и контроллер - это пипец вообще.
Долой идиотизм!
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
artemm писал(а):передачи команды КОМУ? Точнее "чему"?
Чипы сами по себе никаких рефреш команд не понимают.
Это контроллер памяти команды понимает, а сами чипы никаких команд рефреша не имеют, их надо рефрешить стробом по описанной для них процедуре. А присобачивать еще и контроллер - это пипец вообще.
Ну если б память рефрешилась внешними темами, то на это бы ушло все время работы с памятью. В стандарте явно написано что микросхемы обладают функцией авто-рефреша и сами генерируют перебор всех ячеек и их обновление. И происходит это либо автоматом по установленному внутреннему таймеру (селф-рефреш) либо я так понял по управляющей команде (авто-рефреш) которая подается видимо на соот.выводы планки. Про то как и куда идет команда утверждать не буду - про это я не вчитывался особо.
- SLvik
- Друг Кота
- Сообщения: 7622
- Зарегистрирован: Ср май 28, 2008 00:32:54
- Откуда: г. Россия
- Контактная информация:
Обновлением памяти в компутере занимается контроллер памяти. Само собой там ничего не происходит.
Представьте ситуацию контроллер памяти пишет туда массив данных и тут одна из МС памяти вздумала вдруг обновиться т.к. время заряда подошло к концу и что контроллер останавливает передачу в итоге тормоза, а если МС памяти обновляются сами, то не известно когда каждая МС вдруг решит обновиться, а если у них ещё и скорости разные (Ничего идеального нет) то в результате одни обновления и тормоза.
Поэтому контроллер рассчитывает время обновления памяти взависимрсти от скорости памяти и обновляет их сам.
К стати на любой планке памяти начиная с SDRAM находится EEPROM в основном 24c02 в которую записаны характеристики данной планки памяти - объём, скорость, напряжение питания может ещё что.
Контроллер при инициализации считывает инфу с этого чипа и конфигурирует сам себя под данную планку, правда частично можно обойти эти настройки выставив в BIOSе настройки вручную.
Да и потом память SDRAM работает от 3,3v DDR от 1,8 до 3v а DDR2 вообще до 2v.
Например у меня в компе напряжения на DDR - 2,5v на DDR2 - 1,8v
Ну и какой контроллер заведётся от 2,5v, ну про 1,8v я скромно умолчу. Если уровень сброса у контроллеров около 2,5 / 3v.
Да и генератор может не стартануть.
Почему бы вам не использовать SRAM например W24512 - применялась в качестве CASH процессора на 386/486 машинах
Вообще надо делать проще - будет надёжнее чем делать прерывания по таймеру для обновления , да и скорость большая нужна ато не успеешь - получиш на выходе 0х0000000000000000 вместо например 0х0110111000110010.
Представьте ситуацию контроллер памяти пишет туда массив данных и тут одна из МС памяти вздумала вдруг обновиться т.к. время заряда подошло к концу и что контроллер останавливает передачу в итоге тормоза, а если МС памяти обновляются сами, то не известно когда каждая МС вдруг решит обновиться, а если у них ещё и скорости разные (Ничего идеального нет) то в результате одни обновления и тормоза.
Поэтому контроллер рассчитывает время обновления памяти взависимрсти от скорости памяти и обновляет их сам.
К стати на любой планке памяти начиная с SDRAM находится EEPROM в основном 24c02 в которую записаны характеристики данной планки памяти - объём, скорость, напряжение питания может ещё что.
Контроллер при инициализации считывает инфу с этого чипа и конфигурирует сам себя под данную планку, правда частично можно обойти эти настройки выставив в BIOSе настройки вручную.
Да и потом память SDRAM работает от 3,3v DDR от 1,8 до 3v а DDR2 вообще до 2v.
Например у меня в компе напряжения на DDR - 2,5v на DDR2 - 1,8v
Ну и какой контроллер заведётся от 2,5v, ну про 1,8v я скромно умолчу. Если уровень сброса у контроллеров около 2,5 / 3v.
Да и генератор может не стартануть.
Почему бы вам не использовать SRAM например W24512 - применялась в качестве CASH процессора на 386/486 машинах
Вообще надо делать проще - будет надёжнее чем делать прерывания по таймеру для обновления , да и скорость большая нужна ато не успеешь - получиш на выходе 0х0000000000000000 вместо например 0х0110111000110010.