Просмотр полной версии : ОЗУ 4 мб.
Привет всем. Пытаюсь понять как работает ОЗУ у ZX EVO как 4 мб.
Схема подключения ОЗУ на картинке 2 микросхемы работают как 4 мб
http://s12.radikal.ru/i185/1611/7f/f465fe47109at.jpg (http://radikal.ru/big/zt0wej92kc275)
Схема подключения ОЗУ на АТМ ТУРБО 2 микросхемы, в данный момент MA9(R10) сидит на земле, в итоге получается 1 мб ОЗУ на 2-х микросхемах.
http://s017.radikal.ru/i425/1611/3b/84d01928e13bt.jpg (http://radikal.ru/big/do9riaq040u2c)http://i023.radikal.ru/1611/9b/cfa7d5125ca8t.jpg (http://radikal.ru/big/bnm7h2ed8yp1e)
Суть вопроса вот в чем. Если доработать порты и схему регенирации АТМ, задействовать в АТМ сигнал MA9, то в итоге на 2-х микросхемах можно получить 2 мб. Как в ZX EVO с теми же микросхемами получается 4 мб? Можно ли в АТМ получить 4 мб на тех же 2-х микросхемах ОЗУ как и в ZX EVO?
SAM style
09.11.2016, 14:37
10 адресных линий (MA0..9), это 1024 строк/столбцов, всего матрица 1024*1024 = 1Mб 16-битных данных (DQ0..15). Т.е по 2Мб байт в каждой МС.
Суть вопроса вот в чем. Если доработать порты и схему регенирации АТМ, задействовать в АТМ сигнал MA9, то в итоге на 2-х микросхемах можно получить 2 мб. Как в ZX EVO с теми же микросхемами получается 4 мб? Можно ли в АТМ получить 4 мб на тех же 2-х микросхемах ОЗУ как и в ZX EVO?
По сути как выше сказано каждая микросхема это 2Мб (1Мx16)
Выбираются они как правило либо только по сигналам CAS (UCAS0, LCAS0, UCAS1 и LCAS1) и одинм сигналом RAS на обе микрухи, либо
RAS0, RAS1 и UCAS0, LCAS0. Шину данных либо объединяют в одну 8 битную, либо как на схеме в 16 битную.
Тут все зависит от конкретной задачи и схемотехники.
SAM style,Mick спасибо Вам за ответ. Теперь понятно.
Если просто перекинуть шину данных как у ZX EVO, такой способ не заработает? У ZX EVO в отличии от АТМ объединен сигнал WE, у АТМ на каждой микросхеме свой WE.
Опять же все зависит от того как в АТМ реализована шина данных на ОЗУ. Если она 8ми битная, то можешь управлять только сигналами CAS (через дешифратор), а RAS пустить на все один.
Я просто не помню схему АТМ, а под рукой ее нет.
solegstar
09.11.2016, 15:51
Mick, 16ти битная. как и в Профи, нужно читать одновременно два байта.
Mick, 16ти битная. как и в Профи, нужно читать одновременно два байта.
Поглядел на схему. На ней RAS и CAS как бы не раходятся а приходят на все микрухи. Разделение банков происходит по WE0 и WE1.
Да еще не стоит забывать что она читается как 16битная, а запись то идет как 8ми битная. А поскольку у новых микрух данные объединены, то надо этот факт учитывать, тоесть два входных буфера ставить.
Исходя из этого RAS можно пускать на обе микрухи один не разделяя. А вот если оставлять разделение WE0 и WE1, то в любом случае необходимо еще поделить и сигнал CAS.
solegstar
09.11.2016, 16:20
Исходя из этого RAS можно пускать на обе микрухи один не разделяя.
он и так не разделен. по схеме это один и тот же сигнал, просто раздвоенный (буферизированый) на две линейки рушек.
- - - Добавлено - - -
чтоб небыло глюков из-за слишком большого кол-ва входов. а так да, можно и один сигнал использовать...
чтоб небыло глюков из-за слишком большого кол-ва входов. а так да, можно и один сигнал использовать...
Ну это актуально допустим для оригинального АТМ с 16 микросхемами РУ7. Тут то всего две микрухи.
Я думаю, это не сильно критично. Если есть два сигнала RAS, то пусть приходят.
Максагор
09.11.2016, 21:50
Посмотрел еще раз PCB-разводку 7.18 и схему, которую ты кинул тут и сравнил с "классической" схемой на 565РУ7:
Если я не ошибся, то оказывается все не просто, а очень просто! Даже удивительно, как мы раньше этого не заметили! Дело в том, что шина данных у тебя в 7.18 УЖЕ разделена!
Вот возьми для сравнения схему с v7.10 - там каждая из двух линеек ОЗУ по 8 микросхем РУ7 формирует 8-битную шину данных. Линейки между собой выбираются сигналом /WE0 и /WE1. при этом РУ7 имеют два полуряда, адресованные адресными линиями MA0-MA8 (сигналы R1-R9 с платы). Доступ к данным открывается сигналом /CAS (ножка 15 у каждой 565РУ7), куда идет сигнал /C0 с платы. Это в совокупности дает нам 256Кб на линейку или 512Кб ОЗУ в сумме.
Как же на классической АТМ получаем мегабайт ОЗУ? Напаиванием второго этажа и через участие сигнала PG5 на D65.2 формируем на микросхеме D15 разделение сигнала выборки /CAS на два - /C0 (D15.12, который и идет на нижние 512Кб) и /C1 (D15.16), аналогичный обратный первому. Он (в паре с "антагонистом" /C0) открывает доступ шине данных у напаянного второго этажа и временно блокирует доступ у первого этажа.
Теперь смотрим по съеме, как реализовано подключение ОЗУ на двух микрухах в 7.18.
Они, во-первых, имеют 16бит шину данных, но пока ограничимся 8-ю битами. Во-вторых, имеют дополнительный адрес MA9 для каждого полуряда выборки, что в 4 раза увеличивает объем при 8битах - до 1Мб на микросхему и в 8 раз (до 2Мб) при использовании всех 16бит шины данных. Но пока что для совместимости с "классической" АТМ с 1Мб ОЗУ адрес MA9 не задействован (сигнала R10 для него не просто существует), а помимо него за одним исключением все сигналы аналогичны таковым у каждой линейки РУ7. Но в таком случае мы должны получить только по 256Кб на каждую микросхему или всего 512Кб ОЗУ. Так откуда мы получаем тоже 1Мб, ведь второй этаж с этими микросхемами мы не напаивали!? Из-за упомянутого исключения - к микросхеме ОЗУ идут сразу два сигнала доступа к данным - /C0 и /C1, так как она имеет сразу два входа для них - /LCAS и /UCAS. Т.е., получается, что каждая такая микросхема содержит "второй напаянный этаж" сама в себе. Но как происходит адресация? Ведь /LCAS и /UCAS это не адресные шины! Они только открывают доступ к шине данных. Если я не ошибся (по крайней мере мои выводы логически вытекают из анализа сигналов), то названия /LCAS и /UCAS должны полностью звучать как /LowCAS и /UpCas - типа "нижний" и "верхний" регистры. И открывают они доступ к нижней и верхней ПОЛОВИНКАМ 16-битной шины данных: /LCAS соответственно к DQ0-DQ7 и /UCAS к DQ8-DQ15. Как понимаю, при помощи этих сигналов можно (и это делается в текущей АТМ v7.18) попеременно работать с 8-битными половинками шины данных, а если использовать микросхемы в 16-битных компьютерах, то при одновременной установке /LCAS и /UCAS (или просто их припаивании друг к другу) можно работать одновременно со всеми 16 битами.
Так что для того, чтобы получить на АТМ 4Мб ОЗУ не надо делать практически НИЧЕГО. Разводим по моей съеме порт с новыми сигналами PG6 и PG7. PG6 пускаем по схеме TiM0Na на формирование полурядов микросхему создание сигнала R10 который затем пойдет на задействование сигнала MA9.
А PG7 пустим ВМЕСТО PG5 на D65.2. чтобы именно PG7 обеспечивал формирование сигналов /C0 и /C1, идущие к ногам /LCAS и /UCAS для выборки младшего или старшего полурядов 16-битной шины адреса. В итоге оп-ляяя!!!! Получаем в рабочем состоянии все 4Мб ОЗУ на ATM-turbo 2+!
[уходит танцевать брейк-данс, выкрикивая по дороге "Эврика!"]
solegstar
09.11.2016, 22:40
то, как шина данных соединена на микросхемах памяти, не позволит сделать одновременною подачу двух касов, т.к. будет конфликт выходов. с такой разводкой можно максимум сделать 2мб памяти, из-за оставшегося одного свободного адреса. на данный момент, нужно сделать две вещи как минимум - переразвести шд как в еве, т.е. чтобы были доступны все 16 бит щд ОДНОЙ микросхемы, во вторых - сделать один WE. поменять адреса на мультиплексорах памяти, чтобы была правильная регенерация, ну и соотв. завести доп.биты порта расширения... возможно, еще нужно будет сделать два ras`a.
Максагор
10.11.2016, 00:56
то, как шина данных соединена на микросхемах памяти, не позволит сделать одновременною подачу двух касов, т.к. будет конфликт выходов.
То как сделано формирование касов на схеме АТМ исключает их одновременную подачу - либо идет обращение в нижние 512Кб (сигналом PG5 в классическом случае или 2Мб в случае реализации расширения памяти сигналом PG7) и тогда CAS0 активен, а CAS1 отключен или в верхние 512Кб (2Мб), и тогда все наоборот. CAS0 и CAS1 одновременно могут быть только выключены, если не идет обращение к памяти вообще.
сделать 2мб памяти, из-за оставшегося одного свободного адреса.
Как оставшийся свободный адрес помешал бы конфликту данных, если каким-то чудом (что невозможно) CAS0 и CAS1 оказались бы одновременно активными?
во вторых - сделать один WE.
ЗАЧЕМ??????? WE0 и WE1 выбирает разные линейки памяти. Они одновременно тоже не могут быть активны. В формировании WEx принимает участие сигнал PG2. Таким образом первые 4 страницы (0-3) выбираются из левой линейки, следующие 4 из правой, потом опять из левой итак далее. Если делать ОДИН WE, надо переделывать полностью абсолютно всю схему построения адресов, выборки и так далее - т.е. переделывать пол компа. А зачем это нужно, если и так все работает, причем уже с новыми микросхемами, пусть пока и не на 4Мб?
поменять адреса на мультиплексорах памяти, чтобы была правильная регенерация
Если имеется ввиду, добавить новые сигналы (и сдвинуть как надо существующие) для адресации все 4Мб, то схема этого уже есть, просто на форуме не пролетала заненадобностью - автор ее уже взял в разработку.
ну и соотв. завести доп.биты порта расширения...
Аналогично предыдущему - схема этого (порт, формирующий доп. сигналы PG6 и PG7) уже разработана и проходит стадию PCADа...
solegstar
10.11.2016, 11:01
То как сделано формирование касов на схеме АТМ исключает их одновременную подачу - либо идет обращение в нижние 512Кб (сигналом PG5 в классическом случае или 2Мб в случае реализации расширения памяти сигналом PG7) и тогда CAS0 активен, а CAS1 отключен или в верхние 512Кб (2Мб), и тогда все наоборот. CAS0 и CAS1 одновременно могут быть только выключены, если не идет обращение к памяти вообще.
это я прекрасно понимаю. я писал о твоих словах:
при одновременной установке /LCAS и /UCAS (или просто их припаивании друг к другу) можно работать одновременно со всеми 16 битами.
Как оставшийся свободный адрес помешал бы конфликту данных, если каким-то чудом (что невозможно) CAS0 и CAS1 оказались бы одновременно активными?
да никак. я видимо не совсем ясно выразился:
с такой разводкой можно максимум сделать 2мб памяти, из-за оставшегося одного свободного адреса.
с такой разводкой, как на 7.18. без изменения оригинальной схемы.
А зачем это нужно, если и так все работает, причем уже с новыми микросхемами, пусть пока и не на 4Мб?
потому-что адресация сделана для рушек. ладно, делайте. посмотрим, что из этого выгорит. удачи вам. :)
Reistlin
06.10.2022, 19:16
Здравствуйте товарищи. Понимаю, тема древняя.
НО! http://www.sblive.narod.ru/ZX-Spectrum/Pentagon128k/Pentagon128k.htm
Тут есть про 4мБ. Не то?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot