Вход

Просмотр полной версии : Мысли о памяти



SfS
14.12.2006, 09:26
Здесь и на недописишном форуме много спорили "а сколько же надо спектруму памяти".

Реалии таковы, что сейчас гораздо проще купить память на большой объем - 4М, 32М и т.п., чем найти РУ7.

Поскольку сейчас выпускаются всего два клона (АТМ и Пентагон1024), разработчикам вполне можно договориться и зарезервировать порты для расшерения памяти, а не спорить о том сколько же ее надо. Один фиг - скоро микросхему динамического ОЗУ с объемом меньше 1Мбайта (или не скоро а уже?) будет не достать.

Потому предлагаю выделить по два порта для выбора каждой страницы в каждом окне. Это позволит адресовать 65536 * 16Кбайт = 1Гбайт ОЗУ. ТАкой объем ОЗУ на спеке, конечно, вряд ли будет достигнут, но по крайней мере проблем "а как мне адресовать память, у меня есть озу объемом 32 Мега, а стандарты поддерживают не более 4х Мег" - возникать не будут.

Да и рам-диски по многу мегабайт не помешают, кэши дисков - тоже.

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

Mike
14.12.2006, 10:04
Здесь и на недописишном форуме много спорили "а сколько же надо спектруму памяти".

Реалии таковы, что сейчас гораздо проще купить память на большой объем - 4М, 32М и т.п., чем найти РУ7.

Поскольку сейчас выпускаются всего два клона (АТМ и Пентагон1024), разработчикам вполне можно договориться и зарезервировать порты для расшерения памяти, а не спорить о том сколько же ее надо. Один фиг - скоро микросхему динамического ОЗУ с объемом меньше 1Мбайта (или не скоро а уже?) будет не достать.

Потому предлагаю выделить по два порта для выбора каждой страницы в каждом окне. Это позволит адресовать 65536 * 16Кбайт = 1Гбайт ОЗУ. ТАкой объем ОЗУ на спеке, конечно, вряд ли будет достигнут, но по крайней мере проблем "а как мне адресовать память, у меня есть озу объемом 32 Мега, а стандарты поддерживают не более 4х Мег" - возникать не будут.

Да и рам-диски по многу мегабайт не помешают, кэши дисков - тоже.

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

+1
Нет, даже +10 !!! :v2_clapp:

Romanich
14.12.2006, 10:06
Такие объёмы памяти, ИМХО тоже ни к чему...
Для игр вполне хватает памяти ДО мегабайта

А вот поискать процик с линейной адресацией до мегабайта стоит :smile:

Кто мешал тем же Atmel'овцам сделать AVR'ки с внешней памятью кода и линейной адресацией хотябы до 1МБ? А вот нет, им выгоднее чтоб народ гадил в эти контроллеры тысячи раз и выкидывал. Тем более к примеру Atmega128 программируется через последовательный интерфейс ууух как долго (если размер прошивки занимает почти весь кристалл)

Поэтому тут принципы нужны немножко другие! Например стоит рассмотреть контроллеры от Mitsubishi - они 16-разрядные...
В противовес армам - менее монструозные...

Sonic
14.12.2006, 10:19
Такие объёмы памяти, ИМХО тоже ни к чему...
Для игр вполне хватает памяти ДО мегабайта

Я согласен с тобой в том плане, что освоен пока только 1 мб, и то не потенциал далеко не исчерпан.
Но sfs прав в том, что память все равно получается дармовая.


А вот поискать процик с линейной адресацией до мегабайта стоит :smile:

Z180 ? :smile:
Или может отойти от традиционного направления и действительно уйти в FPGA и развивать архитектуру CPU самостоятельно? Слабо scalable-проц с переводом из 8 бит в 32 бита? Эдакая фантазия на тему "какой была бы серия Zx80 если бы победила x86" :v2_finge:

Romanich
14.12.2006, 10:30
Но sfs прав в том, что память все равно получается дармовая.


Согласен, но мне кажется, следует стремиться реализовывать такой принцип в железостроении - ставить только то что нужно и сколько нужно :smile:
При этом конечно, делать такие ресурсы, чтоб потом не загибаться от их недостатка!



Z180 ? :smile:


Z180 недоставаем для меня :frown:



Или может отойти от традиционного направления и действительно уйти в FPGA и развивать архитектуру CPU самостоятельно? Слабо scalable-проц с переводом из 8 бит в 32 бита? Эдакая фантазия на тему "какой была бы серия Zx80 если бы победила x86" :v2_finge:


Как ты думаешь, кого больше - тех, кто знает контроллеры/процессоры или тех, кто хорошо знает как программировать ПЛИСы???

Как показали результаты, заэмулить процы на ПЛИСах можно, но различия будут всё равно.... тем более это попахивает какой-то резиновостью (C) Costa

Лучше сразу делать свой проц со своей архитектурой ;)

SfS
14.12.2006, 10:38
Такие объёмы памяти, ИМХО тоже ни к чему...
Для игр вполне хватает памяти ДО мегабайта

Причем тут игры ? Я просто говорю, что память - стоит копейки. Ну скажи - чем тебя заденет, если у тебя будет стоять 32М озу ? По мне так это хорошо - загружу приложения, резиденты, рам-диски создам для скорости. Ктонибудь еще и кэш файловой системы пропишет...



А вот поискать процик с линейной адресацией до мегабайта стоит smile:

Любой АРМ - до 4х Гиг линейной адресации... Только при чем тут спектрум ?

Mike
14.12.2006, 10:55
Такие объёмы памяти, ИМХО тоже ни к чему...
Для игр вполне хватает памяти ДО мегабайта

Принципиально не согласен. Это высказывание из области - 640 хватит на всё. Я не спорю, что с 1Mb можно не плохо развернутся, но это не значит, что этого хватит под любую идею. А речь идёт о том, что больший объём ставить теперь на много прще, чем не большой.


А вот поискать процик с линейной адресацией до мегабайта стоит :smile:

Если об будет полностью совместим с Z80, то - да.



Кто мешал тем же Atmel'овцам сделать AVR'ки с внешней памятью кода и линейной адресацией хотябы до 1МБ? А вот нет, им выгоднее чтоб народ гадил в эти контроллеры тысячи раз и выкидывал. Тем более к примеру Atmega128 программируется через последовательный интерфейс ууух как долго (если размер прошивки занимает почти весь кристалл)

Поэтому тут принципы нужны немножко другие! Например стоит рассмотреть контроллеры от Mitsubishi - они 16-разрядные...
В противовес армам - менее монструозные...

Это всё замечательно, но каким боком они относятся к спеку ? Спек это Z80 и всё, что с ним совместимо.

Разве только смотреть в сторону Z180, Z380, eZ80 и прочее в таком духе.

Sonic
14.12.2006, 11:26
Согласен, но мне кажется, следует стремиться реализовывать такой принцип в железостроении - ставить только то что нужно и сколько нужно
Правильно. Просто речь идет о том что в наше время в одной микрухе 4 мб уже. А 1 мб скоро хрен достанешь - вот и все. Будем все равно ставить 4, а остальные 3 будут в воздухе болтаться? А смысл им в воздухе болтаться, если задействовать их не стоит практически ничего?

Romanich
14.12.2006, 11:55
Ну скажи - чем тебя заденет, если у тебя будет стоять 32М озу ?


Заденет тем что старшие адресные биты ЦПУ можно было потратить на декодирование периферии! К аппаратостроению нужно подходить прежде всего с рациональной точки зрения. Если не предполагается юзать столько много, так зачем оно нужно? Не для того же, чтоб кто-нить наподобие форточек и пингвинов схавал усю память...



Любой АРМ - до 4х Гиг линейной адресации... Только при чем тут спектрум ?

Про спек я вообще не заикался... АРМ... у него такая же лажа как и у AVR'ов - нету внешней памяти кода (у большинства - особенно у атмела)
Вот LPC22xx - Другое дело ;)

Romanich
14.12.2006, 12:05
А 1 мб скоро хрен достанешь - вот и все. Будем все равно ставить 4, а остальные 3 будут в воздухе болтаться? А смысл им в воздухе болтаться, если задействовать их не стоит практически ничего?

Где Вы видели чипы SRAM ёмкостью более 0.5МБ?
ИМХО SRAM имеет самую удобную организацию шин, поэтому DRAMы рассматриваю как гиморой...

SfS
14.12.2006, 13:05
Заденет тем что старшие адресные биты ЦПУ можно было потратить на декодирование периферии!


Бррр.... Ты о Z80 или о чем ?! В спектруме ВСЕ адресные биты (16 штук) заняты под память. Во всех компах, кроме спека-48, используется страничная организация памяти. Для переферии (в смысле портов ввода-вывода) имеется отдельное адресное пространство 64К. Так что я вообще не понимаю о чем ты хочешь сказать. Я всего лишь предложил ввести стандарт на порты управления памяти сверх 128к и все. Причем в стандарте сразу предусмотреть возможности расширения памяти до любых разумных пределов, чтобы решить этот вопрос раз и навсегда.


К аппаратостроению нужно подходить прежде всего с рациональной точки зрения.

Вот именно. А поскольку динамической памяти менее нескольких мегов на сегодняшний день почти нет, то рационально использовать ту, что есть полностью.


Если не предполагается юзать столько много, так зачем оно нужно? Не для того же, чтоб кто-нить наподобие форточек и пингвинов схавал усю память...

Что значит "не предполагается" ? Это ведь комп, а не узкоспециальное устройство на контроллере. Пользователь найдет что делать с памятью... И программисты ему помогут :) Да и расширение граф. возможностей поташит увеличение объема ОЗУ.


Про спек я вообще не заикался... АРМ... у него такая же лажа как и у AVR'ов - нету внешней памяти кода (у большинства - особенно у атмела)

У меня лежит на столе AT91RM9200 (ядро ARM9) и AT91M55800 (ядро ARM9) - оба имеют внешнюю память кода и на обоих у меня линукс крутится. И оба от Atmel'а. Бери любой - и вперед. Это только у серии AT19SAM** нет внешней памяти кода. Так оно и понятно- не для того эта серия разработана.

SfS
14.12.2006, 13:11
Где Вы видели чипы SRAM ёмкостью более 0.5МБ?
ИМХО SRAM имеет самую удобную организацию шин, поэтому DRAMы рассматриваю как гиморой...

У меня на столе видел :) K6X8016C08 называется. 55нс 1Мбайт.

Кстати, открой для себя, что сейчас существует память динмаическая внутри, но имеющая снаружи интерфейс статической. PSEUDSRAM называется. Стоит недорога, объемы - много мегабайт, один минус - почти вся в БГА корпусах.

А вообще - в спеке память динамическая. Так что про нее и речь.

Romanich
14.12.2006, 13:13
Так что я вообще не понимаю о чем ты хочешь сказать...


Всё ясно. Просто я с другого ракурса смотрел на проблему. А проблема в Спек не упиралась ;)

icebear
14.12.2006, 13:13
У меня лежит на столе AT91RM9200 (ядро ARM9) и AT91M55800 (ядро ARM9) - оба имеют внешнюю память кода и на обоих у меня линукс крутится.

Разве М55 тоже АРМ9? Мне казалось ARM7TDMI.

Romanich
14.12.2006, 13:15
Кстати, открой для себя, что сейчас существует память динмаическая внутри, но имеющая снаружи интерфейс статической.


я знаю! по-больше таких кристаллов на глаза бы попадалось :)

SfS
14.12.2006, 13:17
Разве М55 тоже АРМ9? Мне казалось ARM7TDMI.

да. Сорри. ОписАлся я. 55800 - ARM7.

demon_zx
14.12.2006, 15:11
Понятное дело, надо заранее договориться о дополнительном порте памяти, что бы потом не было лишнего геммороя. А о том, что нужна или нужна такая память, другой разговор. Раньше тоже были споры о нужности мегабайта. Что называется: "свято-место пусто не бывает".

Sonic
14.12.2006, 15:18
Где Вы видели чипы SRAM ёмкостью более 0.5МБ?
ИМХО SRAM имеет самую удобную организацию шин, поэтому DRAMы рассматриваю как гиморой...
SRAM крут ИМХО не этим, а тем что машину на базе SRAM можно выключить, потом включить, и все останется как было не считая регистров CPU, ну и разумеется питание SRAM'а выключать тоже не надо.

icebear
14.12.2006, 15:28
SRAM крут ИМХО не этим, а тем что машину на базе SRAM можно выключить, потом включить, и все останется как было не считая регистров CPU, ну и разумеется питание SRAM'а выключать тоже не надо.

Magic файлы тоже самое, и даже регистры на месте.

Sonic
14.12.2006, 15:42
Magic файлы тоже самое, и даже регистры на месте.

Угу, только зачастую они на месте данных или программного кода...
Хотя в теории ты прав. В современном мире это называется Hibernation.

Mikka_A
14.12.2006, 15:49
Magic файлы тоже самое, и даже регистры на месте.

у меня на симе можно смело на 5-10 секунд тоже выключать,все на месте остается..
про регистры не смотрел..
надо попробовать.

MegaMyth
14.12.2006, 23:44
Вопрос стоял давольно таки просто. Рассмотреть возможность введения новго стандарта адресации памяти. Дополнительные регистры. Скольки разрядные, сколько штук, какие адреса, что делать со старыми регистрами, или просто сделать диспетчер памяти как на АТМ (любая страница ОЗУ в любой четверти). Или еще чего. По поводу DRAM vs SRAM: Сейчас проектирую ZX-клон (по принципу Sprinter'a). Память SRAM 2*512КБ-15нс (2 штуки 180Ру), развёртка сразу VGA 75Гц (хотя не отрицаю что будет поддержка и RGB PAL кодер (полностью программируются тайминги).
Так вот, Мне бы хотелось за пределами макетной платы организовать что-то с большим объёмом памяти (НЕ SRAM), как минимум до 16 МБайт...

Black_Cat
15.12.2006, 05:39
Вопросы объёма памяти неоднократно обсуждались. Вот последний: http://zx.pk.ru/showthread.php?t=4225&page=2&pp=10
Считаю 16М минимальным обьёмом на который следует ориентироваться при разработке менеджера памяти.
Думаю, обсуждение необходимо проводить в несколько этапов:
0) выработка протокола (плана) обсуждения;
Примерный протокол:
1) обсуждение предложений по выбору портов;
2) обсуждение с точки зрения архитектурной реализации предложений по вариантам медеджетмента страниц, а так же возможности отключения ПЗУ;
3) проверка общими усилиями выбранного варианта на возможные проблемы с софтом (в том числе исключить возможность использования в софте двух вариантов менеджетмента памяти для старых компов).

Поэтому сначала просьба высказаться по протоколу обсуждения, чтоб не превращать это в 101 флеймодром, как уже было не раз. После утверждения протокола всё обсуждение проводить строго по протоколу. Все "гениальные мысли" не относящиеся к обсуждаемому вопросу, авторам просьба сопровождать соответствующим заглавием с последующим их обсуждением вне протокола во вспомогательных ветках с включением результатов обсуждения в родительскую тему.
Пример "гениальной мысли" не по протоколу:
Предложение по п.1:
в идеале начать следует с простого суммирования всех портов существовавших стандартов, т.е. KAY, Profi, Pentagon, т.к. они имели сходную архитектуру.

Соответственно это предложение должно обсуждаться либо параллельно протоколу, если его вдруг упустили из виду, или в порядке протокола, когда дойдёт очередь. В данном случае - при обсуждении п.1.

Итак, сейчас просьба высказаться по протоколу.

ZEK
15.12.2006, 10:09
Ну кто то должен быть первым.
ХВАТИТ ФЛЕЙМ ПРОВОЦИРОВАТЬ!!!

Black_Cat
15.12.2006, 12:17
Если у тебя есть уже готовое решение - выскажи. Нет, так к чему эти слова?
Если нужен результат, а не флейм - нужна организованность в обсуждении - это общеприменительная практика. Протокол обсуждения и создаёт эту организованность.

Valen
15.12.2006, 12:54
Сорри за оффтопик!


Сейчас проектирую ZX-клон (по принципу Sprinter'a). Память SRAM 2*512КБ-15нс (2 штуки 180Ру), развёртка сразу VGA 75Гц (хотя не отрицаю что будет поддержка и RGB PAL кодер (полностью программируются тайминги).
...

Создай плиз отдельную ветку про свой клон (инфо, параметры и т.п.).
Думаю всем будет интересно.

MegaMyth
16.12.2006, 04:59
Создай плиз отдельную ветку про свой клон (инфо, параметры и т.п.).
Думаю всем будет интересно.

Так и сделал... хоть отвлекся от разводки платы :-)
http://zx.pk.ru/showthread.php?t=4381

SfS
16.12.2006, 10:41
или просто сделать диспетчер памяти как на АТМ (любая страница ОЗУ в любой четверти). Или еще чего. По поводу DRAM vs SRAM: Сейчас проектирую ZX-клон (по принципу Sprinter'a).

ИМХО, это однозначно надо. Иначе будет бесхозно теряться несколько окон адресного пространства процессора.

SfS
16.12.2006, 10:49
Формулирую по пунктам:

1. Для каждого окна адресного пространства ЦПУ выделяется два порта (16 бит) для номера страницы, включенной в окно. Это позволяет адресовать до 1Гб памяти (65536 страниц по 16Кбайт).

2. Адреса этих портов должны определить разработчики АТМ и Пентагона 1024. Поскольку эти клоны - единственные, что сейчас производятся - им и карты в руки.

Вот собственно и все моё предложение.