PDA

Просмотр полной версии : В чем смысл разделых полей памяти



Gryphon
25.03.2010, 19:16
Как мне сказали, эта было так сделано в оригинальном спеке было так сделано (видимо они думали, что так рациональнее). Ну, с одной линейкой на РУ5 все понятно, а что тогда в линейке из РУ6 (32Кб). Что там такое хранится? Прошу не ругаться за тупой вопрос.

null_device
25.03.2010, 19:30
а что тогда в линейке из РУ6 (32Кб)

Ответ содержится в вопросе. Схемотехнически раздельные поля позволяют работать с верхней памятью во время с обработкой экранной памяти. Вопрос подробно освещался в разного рода технической литературе по спектруму.
Довольно сумбурно описано здесь (http://trd.speccy.cz/book/PERIFER.ZIP). Пункт девятый "расширение памяти спектрума" (кривая перепечатка, источник не помню, но видел более детальное описание).

fan
25.03.2010, 19:59
В чем смысл разделых полей памяти
Если отмести ламерство первобытных буржуйских разработчиков , то в древности память была просто п!"№;%:?*дец какой дорогой . И первые спектрума были с 16к с возможностью апгрейда . А покудо память расширялась целыми линейками (ибо чипы однобитные), их так и стало две . И уже потом это тупо склонировали на доступных тараканах (порой в видео линейке ставили РУ5 , т.к. РУ6 постепенно стали экзотами).

valeron
25.03.2010, 20:12
Gryphon, да, в оригинальном спектруме так и было. Если в двух словах, то дело в том что доступ к памяти делят между собой процессор и видеоконтроллер. Когда контроллер начинает отрисовывать экран, он начинает тормозить процессор (в оригинальном спеке приостанавливается тактовая частото, в наших клонах используется сигнал Wait). Уж не помню подробностей, но так уж было сделано, что 16 килобайт памяти с адреса 16 384 (#4000) по 32 768 (#8000) состояли из одних микросхем и эта память была медленной, в ней содержался экран. А верхние 32 килобайта в адресах от 32 768 (#8000) до 65535 (#FFFF) составлялись из других микрух и в этих 32 килобайтах процессор не тормозился. (Также не тормозилась область ПЗУ). И при написании программ рекомендовалось критичные по времени исполнения процедуры, а также обработчик прерываний располагать в быстрой памяти.
Позднее, когда начали расширять память до 128, то просто заменили микросхемы на 4164 (РУ5) и получили суммарный объем 128 килобайт, и вот половина памяти получилась тормознутой. Вроде все так, если ничего не путаю, давно это было.

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

ЗЫЫ. Кстати РУ6 имеет 16кб, а не 32.

fan
25.03.2010, 20:31
Прозрачный доступ есть не только в петагонах , но и в компах с синхронным видео контроллером в таких как KAY и выпрямленный ленинград .

Jukov
26.03.2010, 15:04
KAY как и Ленинград тормозится по WAIT, в Пентагоне вроде то же самое. А вот в Кворуме видеоконтроллер и процессор абсолютно друг с другом не конфликтуют, сигналы WAIT и BUSRQ процессора абсолютно свободны.

valeron
26.03.2010, 18:39
KAY как и Ленинград тормозится по WAIT, в Пентагоне вроде то же самое. А вот в Кворуме видеоконтроллер и процессор абсолютно друг с другом не конфликтуют, сигналы WAIT и BUSRQ процессора абсолютно свободны.

схему Пентагона внимательно покури...
И что за Кворум, я всегда думал что это вариация Ленинградки...

fan
26.03.2010, 20:01
KAY как и Ленинград тормозится по WAIT, в Пентагоне вроде то же самое.
Про синхронный прозрачный доступ разжёвывал Mick (не помю в какой теме). Смотри схему феникса и кая - http://sblive.narod.ru/ZX-Spectrum/KAY-1024/KAY-1024.htm

Про асинхронный прозрачный доступ (пентагон , дуэт , ...) есть целый цикл статей Буна - http://andrnow.narod.ru/zx/radio/

Gryphon
27.03.2010, 23:10
Народ, спасибо, что прояснили ситуацию. А то всегда было интересно, зачем так.
Да, а разве линейка из 8 РУ6 дает 16Кб? Вроде как 32Кб (В Микроше и РК было так). Поправьте меня, если ошибаюсь.

valeron
28.03.2010, 11:33
Парень, да ты ленишься почитать даташит!
В этих микрухах (РУ5, РУ6, РУ7) сделана раздельная адресация по столбцам и строкам, иначе у каждой микрухи было бы по 30 ног, прикинь сколько места займет. Так вот если подавать сначала адрес столбца, а затем адрес строки, то можно использовать одни и теже адресные входы дважды. Так и сделано.
В РУ6 используется 7-разрядная адресация, это значит что 7 столбцов плюс 7 линий в каждом столбце итого 14 бит на адресацию ячейки памяти. Возведи 2 в четырнадцатую степень и получишь 16кб.
Для сравнения - в РУ5 используется 8 разрядов и получается 8+8=16 бит на адресацию и в результате 64 кб (2 в степени 16). А в РУ7 9 разрядов и 9+9=18 и в итоге 256кб (2 в степени 18).
Вот объясни мне как вообще в принципе при такой архитектуре можно получить 32 кб? Ты там ничего не напутал с Микрошей и РК?

Gryphon
28.03.2010, 11:48
Так стоп, мы тут что-то напутали. РУ6, как и РУ3-ОЗУ,емкостью 16Кбит (16к х1). Это я знаю, но линейка из восьми таких микросхем в Радио-86РК составляла 32 Кбайта памяти. А 16 таких микрух дают как-раз 64Кб. Это полная память с которой 8-разрядный проц может адресовываться непостредтсвенно. Так вроде было описано в Радио. Ну, вроде так.

valeron
28.03.2010, 12:41
... РУ6, как и РУ3-ОЗУ,емкостью 16Кбит (16к х1). Это я знаю, но линейка из восьми таких микросхем в Радио-86РК составляла 32 Кбайта памяти. ....

В самом твоем утверждении содержится противоречие. Я никогда раньше не сталкивался с Радио 86РК, да и лень мне... Или твоя информация не совсем точна или там микрухи другие, например половинчатые РУ5, вот они на 32...

Gryphon
28.03.2010, 13:16
Может быть. Ну я помню, что в Радио-86РК общая память из 8 РУ5 была 64Кб, а РУ6-32Кб. Ну ладно.

Keeper
29.03.2010, 12:34
Так стоп, мы тут что-то напутали. РУ6, как и РУ3-ОЗУ,емкостью 16Кбит (16к х1). Это я знаю, но линейка из восьми таких микросхем в Радио-86РК составляла 32 Кбайта памяти. А 16 таких микрух дают как-раз 64Кб

Ну сам же себе противоречишь :)

16К х 1 = 16384 бита или 16 килобит
16384 х 8 (кол-во микросхем) = 16 килобайт ( 1 байт = 8 бит )

У РУ5 организация 65536 х 1 = 64 килобита
65536 х 8 = 64 килобайта

Atari
29.03.2010, 12:54
а РУ6-32Кб. Ну ладно.

да... только микросхем 16 штук.

http://98.131.34.162/musor/DSCN4019_3.jpg

Gryphon
29.03.2010, 12:56
16К х 1 = 16384 бита или 16 килобит
16384 х 8 (кол-во микросхем) = 16 килобайт ( 1 байт = 8 бит )
А... Вот где я напутал. Спасибо, что разъяснили. А то я что-то всегда думал, что 32Кб ;). Оно вон как.

Barmaley_m
14.05.2010, 01:56
Были такие вариации РУ5, назывались РУ5Д1 и РУ5Д2, они емкостью по 32 килобит. Я вот только не помню, там вторая половина имела бракованные ячейки, либо она вообще отсутствовала.

Что касается прозрачного доступа к общему полю памяти (без задержек) - то это было также реализовано в "Орель БК-08".

Vadim
14.05.2010, 07:07
А верхние 32 килобайта в адресах от 32 768 (#8000) до 65535 (#FFFF) составлялись из других микрух и в этих 32 килобайтах процессор не тормозился.

На ZX-Spectrum-48 была панелька в которой стояла одна микросхема статической памяти на 32Кб. Сначала спектрум вообще продавался как Спектрум-16, а пользователи потом докупали микросхему и апгрейдили его до 48К. На Спектрум+2А и +3 память состоит из 4-х микросхем организацией 65536 ячеек x 4 бита. Т.е. одна пара образует 64 килобайта и вторая 64. В первой содержатся страницы в которых экранная область (страницы 5 и 7) - они являются медленными. Т.е. доступ к ОЗУ непрозрачный. На Profi всех версий доступ к ОЗУ прозрачный, такты ожидания вводятся только в турбо-режиме.

Conan
16.05.2010, 12:30
На ZX-Spectrum-48 была панелька в которой стояла одна микросхема статической памяти на 32Кб. Сначала спектрум вообще продавался как Спектрум-16, а пользователи потом докупали микросхему и апгрейдили его до 48К.
В фирменных ZX Spectrum (48) никогда не было панелек под статическое ОЗУ.
На первой версии платы (Issue 1) были две панельки под установку дополнительной платы с динамически ОЗУ (аналоги "половинок" РУ5), на всех последующих версиях плат (Issue 2-6) иногда были пустые панельки (под половинки РУ5) на плате, в случае если ZX Spectrum выпускался с 16 Кб ОЗУ. С самого первого дня когда Синклер начал принимать заказы (в конце апреля 1982 года) он предлагал и 16Кб и 48Кб версии ZX Spectrum.

Vadim
17.05.2010, 12:18
Неоднократно читал, что 16К можно было доапгрейдить до 48К. Именно установкой статики.

Conan
17.05.2010, 12:29
Неоднократно читал, что 16К можно было доапгрейдить до 48К. Именно установкой статики.Это где интересно такое публиковали?
Подумайте сами: какой смысл навешивать какую-то статику (кстати, более дорогую и требующую дешифратора), вместо того чтобы вставить в штатные панельки на плате восемь микросхем ОЗУ?

Vadim
17.05.2010, 12:33
Это где интересно такое публиковали?

Сайт где история синклера без прикрас. Да, я был удивлен, что статику ставили. Т.е. никак бы не подумал.

SpecialistMK87
17.05.2010, 12:54
Являюсь счастливым обладателем рабочей платы ZX Spectrum 16k issue 2. 8 панелек под расширение памяти и еще немножко пустых панелек под логику ( видимо для управления этой дополнительной памятью, схему еще не смотрел ). Если интересно могу сфоткать.
P.S. Я еще удивлялся, зачем на ZX Spectrum 48k часть логики и 8 микросхем ОЗУ в панельках

Conan
17.05.2010, 14:37
Сайт где история синклера без прикрас.
Это не тут ли: http://zxnext.narod.ru ?

bigral
17.05.2010, 19:01
Это не тут ли: http://zxnext.narod.ru ?

пора бы дополнить сайтец чтоли?

Conan
17.05.2010, 19:07
Конечно пора. Делаю все что в моих силах. Помощи ни от кого нет. Так что, как только, так сразу.;)

Atari
17.05.2010, 19:48
Если интересно могу сфоткать.

Интересно! :v2_cheer:

Vadim
18.05.2010, 06:00
Это не тут ли

Тут, тут...

Conan
18.05.2010, 12:44
Тут, тут...
Но там ни слова про статическое ОЗУ. Или я чего-то пропустил?

Vadim
18.05.2010, 14:08
Возможно уже исправлено. Я читал в оффлайн версии. Как найду источник - отпишу. Но помню хорошо, что именно одна панелька и 32К статика. Хотя сейчас не так важно это. Вопрос прояснен.

Conan
18.05.2010, 14:43
Возможно уже исправлено. Я читал в оффлайн версии.
Ничего я там не правил в опубликованном с 2005 года. И даже в черновиках ничего про статику не писал. Это точно не оттуда.

SpecialistMK87
20.05.2010, 18:12
Интересно!

Плата ZX Spectrum 16k ( исправная )
http://toycatsoft.com/zips/zx_16k.jpg

внизу панельки под память, вверху под логику. На моем ZX Spectrum 48k они все заполнены