Просмотр полной версии : Батарейка для памяти
Немного может показаться бредовым, то что я напишу, но в свое время много думал над этой затеей. Идея состоит в том, чтобы параллельно питанию ОЗУ повесить через диоды аккумулятор ( батарею ) который бы сохранял программу в памяти ОЗУ после выключения питания.
Такое вообще возможно, допустим сделать так чтобы процессор при включении не сбрасывался и тп? :)
P.S Подобное я встречал в схематике АОНов на Z80, в часах..
Если ОЗУ статическое, то вариант, но если применены (как обычно) динамические РУ5/7, то увы, никак.
Насколько помню, в АОН на Z80 стоит РУ10, а она очень мало кушает в режиме хранения. Если интересует подобная тема на спеке, можешь начать с respect`а, там память статическая.
Спасибо. Хотелось бы вкратце понять, почему с динамической памятью такой трюк не проделать?
Статика просто хранит информацию при наличии питающего напряжения.
Динамическая память должна через определенные промежутки времени регенерироваться (восстанавливать сама себя). Если этого не происходит - информация теряется. Для регенерации нужны внешние модули компьютера (для примера Спектрума - полмашины сразу :) ). На батарейке динамику не сохранишь...
"Плюс" динамической памяти - соотношение объем/цена. Поэтому Спектрумы и делали на ней (в основном).
Если кто помнит, то был такой комп под названием ЮТ-88. В приложении "ЮТ для умелых рук", №2, 1990, описывалась система СР/М и квазидиск на неё (на РУ5). Так вот, издевкой была фраза, цитата:
"Все транзитные команды, в нашем случае, учитывая работу с электронным квазидиском, будут храниться на кассетах. Впрочем, если приспособить для питания квазидиска автомобильный аккумулятор, то отпадет необходимость в перезагрузке квазидиска рабочими программами при перерывах в работе с отключением питания".
При этом схемы на подключение акка, ессно, не было...
ILoveSpeccy
20.11.2007, 05:25
Гдето тему читал... толи ZX-MMC, толи DivIDE... точно непомню.
Так вот в каком-то из этих девайсов статика тоже батарейкой подпитывается.
Там писалось, что когда статика ничего не пишет и не
читает типа как в спящем режиме, потребляет очень очень мало
и питания хватает около 2-2.5В (при номинальных 5) чтобы инфу не потерять.
"Такое вообще возможно, допустим сделать так чтобы процессор при включении не срасывался и тп?"
Возможно.
"Хотелось бы вкратце понять, почему с динамической памятью такой трюк не проделать?"
Можно и с такой ... тока одним диодом не выйдет ...
Да и зачем... ?
Если ОЗУ статическое, то вариант, но если применены (как обычно) динамические РУ5/7, то увы, никак.
Ну, хорошая (шустрая и большого объема) статическая память (скажем, кэш от 486-х или старых пентиумов) тоже кушает неслабо. Даташиты рулят... Так что нужно искать с большИм объемом и малым потреблением...
Немного может показаться бредовым, то что я напишу, но в свое время много думал над этой затеей. Идея состоит в том, чтобы параллельно питанию ОЗУ повесить через диоды аккумулятор ( батарею ) который бы сохранял программу в памяти ОЗУ после выключения питания.
Такое вообще возможно, допустим сделать так чтобы процессор при включении не сбрасывался и тп? :)Нет, с процессорами Z80 такой фокус не пройдет.
При включении питания счетчик команд (PC)устанавливается в 0,
что обеспечивает запуск программы с 0 адреса.
Но в принципе придумать дополнительный модуль к Спектруму,
который бы обеспечивал сохранение текущего состояния программы при выключении питания,
и востановление при включении можно, если бы это было нужно :)
P.S Подобное я встречал в схематике АОНов на Z80, в часах..В старых схемах АОН подпитка памяти батарейкой
обеспечивала сохранение текущих настроек, тоесть данных, а не программного кода.
Сейчас для этого удобней использовать энергонезависимые микросхемы памяти с последовательным доступом, которые не требуют питания в выключенном состоянии.
Батарейка теперь нужна только если в системе необходимо иметь часы реального времени, которые должны работать всегда.
Error404
20.11.2007, 20:25
Нет, с процессорами Z80 такой фокус не пройдет.
При включении питания счетчик команд (PC)устанавливается в 0,
что обеспечивает запуск программы с 0 адреса.
Но в принципе придумать дополнительный модуль к Спектруму,
который бы обеспечивал сохранение текущего состояния.
Даже никакой модуль не потребуется придумывать. И батарейки тоже нафиг не нужны. :) Ставим рамтроновскую ферроэлектрическую память (например, некоторое количество FM1808), вместо кнопки PowerOff "расщепляем" Magic на собственно Magic и PowerOff, в обработчике NMI для режима PowerOff в некой области энергонезависимой памяти (ибо ramtron) сохраняем регистры, затем даем команду на выключение БП.
В ПЗУ с 0 пишем меню: "cold start" / "ret from NMI" (ибо состояние ранее сохранено). Всё! :v2_thumb:
Кстати, можно и бюджетный вариант предусмотреть - он уже есть кстати: magic на дискетку. По включению считываем. :D
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot