Просмотр полной версии : В чем смысл разделых полей памяти
Как мне сказали, эта было так сделано в оригинальном спеке было так сделано (видимо они думали, что так рациональнее). Ну, с одной линейкой на РУ5 все понятно, а что тогда в линейке из РУ6 (32Кб). Что там такое хранится? Прошу не ругаться за тупой вопрос.
null_device
25.03.2010, 19:30
а что тогда в линейке из РУ6 (32Кб)
Ответ содержится в вопросе. Схемотехнически раздельные поля позволяют работать с верхней памятью во время с обработкой экранной памяти. Вопрос подробно освещался в разного рода технической литературе по спектруму.
Довольно сумбурно описано здесь (http://trd.speccy.cz/book/PERIFER.ZIP). Пункт девятый "расширение памяти спектрума" (кривая перепечатка, источник не помню, но видел более детальное описание).
В чем смысл разделых полей памяти
Если отмести ламерство первобытных буржуйских разработчиков , то в древности память была просто п!"№;%:?*дец какой дорогой . И первые спектрума были с 16к с возможностью апгрейда . А покудо память расширялась целыми линейками (ибо чипы однобитные), их так и стало две . И уже потом это тупо склонировали на доступных тараканах (порой в видео линейке ставили РУ5 , т.к. РУ6 постепенно стали экзотами).
Gryphon, да, в оригинальном спектруме так и было. Если в двух словах, то дело в том что доступ к памяти делят между собой процессор и видеоконтроллер. Когда контроллер начинает отрисовывать экран, он начинает тормозить процессор (в оригинальном спеке приостанавливается тактовая частото, в наших клонах используется сигнал Wait). Уж не помню подробностей, но так уж было сделано, что 16 килобайт памяти с адреса 16 384 (#4000) по 32 768 (#8000) состояли из одних микросхем и эта память была медленной, в ней содержался экран. А верхние 32 килобайта в адресах от 32 768 (#8000) до 65535 (#FFFF) составлялись из других микрух и в этих 32 килобайтах процессор не тормозился. (Также не тормозилась область ПЗУ). И при написании программ рекомендовалось критичные по времени исполнения процедуры, а также обработчик прерываний располагать в быстрой памяти.
Позднее, когда начали расширять память до 128, то просто заменили микросхемы на 4164 (РУ5) и получили суммарный объем 128 килобайт, и вот половина памяти получилась тормознутой. Вроде все так, если ничего не путаю, давно это было.
ЗЫ. А в Пентагоне был реализован режим прозрачного доступа к памяти и несмотря на общее поле памяти в нем не было торможения. Погугли, найдешь подробности.
ЗЫЫ. Кстати РУ6 имеет 16кб, а не 32.
Прозрачный доступ есть не только в петагонах , но и в компах с синхронным видео контроллером в таких как KAY и выпрямленный ленинград .
KAY как и Ленинград тормозится по WAIT, в Пентагоне вроде то же самое. А вот в Кворуме видеоконтроллер и процессор абсолютно друг с другом не конфликтуют, сигналы WAIT и BUSRQ процессора абсолютно свободны.
KAY как и Ленинград тормозится по WAIT, в Пентагоне вроде то же самое. А вот в Кворуме видеоконтроллер и процессор абсолютно друг с другом не конфликтуют, сигналы WAIT и BUSRQ процессора абсолютно свободны.
схему Пентагона внимательно покури...
И что за Кворум, я всегда думал что это вариация Ленинградки...
KAY как и Ленинград тормозится по WAIT, в Пентагоне вроде то же самое.
Про синхронный прозрачный доступ разжёвывал Mick (не помю в какой теме). Смотри схему феникса и кая - http://sblive.narod.ru/ZX-Spectrum/KAY-1024/KAY-1024.htm
Про асинхронный прозрачный доступ (пентагон , дуэт , ...) есть целый цикл статей Буна - http://andrnow.narod.ru/zx/radio/
Народ, спасибо, что прояснили ситуацию. А то всегда было интересно, зачем так.
Да, а разве линейка из 8 РУ6 дает 16Кб? Вроде как 32Кб (В Микроше и РК было так). Поправьте меня, если ошибаюсь.
Парень, да ты ленишься почитать даташит!
В этих микрухах (РУ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 кб? Ты там ничего не напутал с Микрошей и РК?
Так стоп, мы тут что-то напутали. РУ6, как и РУ3-ОЗУ,емкостью 16Кбит (16к х1). Это я знаю, но линейка из восьми таких микросхем в Радио-86РК составляла 32 Кбайта памяти. А 16 таких микрух дают как-раз 64Кб. Это полная память с которой 8-разрядный проц может адресовываться непостредтсвенно. Так вроде было описано в Радио. Ну, вроде так.
... РУ6, как и РУ3-ОЗУ,емкостью 16Кбит (16к х1). Это я знаю, но линейка из восьми таких микросхем в Радио-86РК составляла 32 Кбайта памяти. ....
В самом твоем утверждении содержится противоречие. Я никогда раньше не сталкивался с Радио 86РК, да и лень мне... Или твоя информация не совсем точна или там микрухи другие, например половинчатые РУ5, вот они на 32...
Может быть. Ну я помню, что в Радио-86РК общая память из 8 РУ5 была 64Кб, а РУ6-32Кб. Ну ладно.
Так стоп, мы тут что-то напутали. РУ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 килобайта
а РУ6-32Кб. Ну ладно.
да... только микросхем 16 штук.
http://98.131.34.162/musor/DSCN4019_3.jpg
16К х 1 = 16384 бита или 16 килобит
16384 х 8 (кол-во микросхем) = 16 килобайт ( 1 байт = 8 бит )
А... Вот где я напутал. Спасибо, что разъяснили. А то я что-то всегда думал, что 32Кб ;). Оно вон как.
Barmaley_m
14.05.2010, 01:56
Были такие вариации РУ5, назывались РУ5Д1 и РУ5Д2, они емкостью по 32 килобит. Я вот только не помню, там вторая половина имела бракованные ячейки, либо она вообще отсутствовала.
Что касается прозрачного доступа к общему полю памяти (без задержек) - то это было также реализовано в "Орель БК-08".
А верхние 32 килобайта в адресах от 32 768 (#8000) до 65535 (#FFFF) составлялись из других микрух и в этих 32 килобайтах процессор не тормозился.
На ZX-Spectrum-48 была панелька в которой стояла одна микросхема статической памяти на 32Кб. Сначала спектрум вообще продавался как Спектрум-16, а пользователи потом докупали микросхему и апгрейдили его до 48К. На Спектрум+2А и +3 память состоит из 4-х микросхем организацией 65536 ячеек x 4 бита. Т.е. одна пара образует 64 килобайта и вторая 64. В первой содержатся страницы в которых экранная область (страницы 5 и 7) - они являются медленными. Т.е. доступ к ОЗУ непрозрачный. На Profi всех версий доступ к ОЗУ прозрачный, такты ожидания вводятся только в турбо-режиме.
На ZX-Spectrum-48 была панелька в которой стояла одна микросхема статической памяти на 32Кб. Сначала спектрум вообще продавался как Спектрум-16, а пользователи потом докупали микросхему и апгрейдили его до 48К.
В фирменных ZX Spectrum (48) никогда не было панелек под статическое ОЗУ.
На первой версии платы (Issue 1) были две панельки под установку дополнительной платы с динамически ОЗУ (аналоги "половинок" РУ5), на всех последующих версиях плат (Issue 2-6) иногда были пустые панельки (под половинки РУ5) на плате, в случае если ZX Spectrum выпускался с 16 Кб ОЗУ. С самого первого дня когда Синклер начал принимать заказы (в конце апреля 1982 года) он предлагал и 16Кб и 48Кб версии ZX Spectrum.
Неоднократно читал, что 16К можно было доапгрейдить до 48К. Именно установкой статики.
Неоднократно читал, что 16К можно было доапгрейдить до 48К. Именно установкой статики.Это где интересно такое публиковали?
Подумайте сами: какой смысл навешивать какую-то статику (кстати, более дорогую и требующую дешифратора), вместо того чтобы вставить в штатные панельки на плате восемь микросхем ОЗУ?
Это где интересно такое публиковали?
Сайт где история синклера без прикрас. Да, я был удивлен, что статику ставили. Т.е. никак бы не подумал.
SpecialistMK87
17.05.2010, 12:54
Являюсь счастливым обладателем рабочей платы ZX Spectrum 16k issue 2. 8 панелек под расширение памяти и еще немножко пустых панелек под логику ( видимо для управления этой дополнительной памятью, схему еще не смотрел ). Если интересно могу сфоткать.
P.S. Я еще удивлялся, зачем на ZX Spectrum 48k часть логики и 8 микросхем ОЗУ в панельках
Сайт где история синклера без прикрас.
Это не тут ли: http://zxnext.narod.ru ?
Это не тут ли: http://zxnext.narod.ru ?
пора бы дополнить сайтец чтоли?
Конечно пора. Делаю все что в моих силах. Помощи ни от кого нет. Так что, как только, так сразу.;)
Если интересно могу сфоткать.
Интересно! :v2_cheer:
Это не тут ли
Тут, тут...
Тут, тут...
Но там ни слова про статическое ОЗУ. Или я чего-то пропустил?
Возможно уже исправлено. Я читал в оффлайн версии. Как найду источник - отпишу. Но помню хорошо, что именно одна панелька и 32К статика. Хотя сейчас не так важно это. Вопрос прояснен.
Возможно уже исправлено. Я читал в оффлайн версии.
Ничего я там не правил в опубликованном с 2005 года. И даже в черновиках ничего про статику не писал. Это точно не оттуда.
SpecialistMK87
20.05.2010, 18:12
Интересно!
Плата ZX Spectrum 16k ( исправная )
http://toycatsoft.com/zips/zx_16k.jpg
внизу панельки под память, вверху под логику. На моем ZX Spectrum 48k они все заполнены
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot