Автор: Unknown BIOS (не проверено) , 19 февраля 2007
Имеем:
PC/XT-совместимая машинка с 256! KB памяти на борту и шиной ISA-8bit.
Похожа на клон вроде вот этой: http://www.computermuseum.li/Testpage/Motherboard-IBM5150-PC-1982.jpg
Иллюстрация к распределению памяти:
00000-0FFFF - 64 K
10000-1FFFF - 64 K
20000-2FFFF - 64 K
30000-3FFFF - 64 K
40000-9FFFF - пусто *
A0000-BFFFF - VIDEO RAM (Graph+Text)
C0000-CFFFF - Video BIOS
D0000-EFFFF - пусто *
F0000-FFFFF - ROM BIOS
------------------------
Итого: 256КB распаяно на плате DIP-микросхемами (8+1)* 4 банка.

* хочется добавить памяти в эти регионы адресов.
Блок 40000-9FFFF дополнит память до 640 KB, а регион D0000-EFFFF можно использовать как UMB (c помощью HIRAM.EXE, например)

Ну а теперь вопрос:

Реально ли спаять такую внешнюю плату расширения памяти в домашних условияx под ISA 8 BIT из современных комплектующих деталей?

Кстати, НАШЕЛ такую плату расширения в интернете :
*****************************
IBM - 256k to 640k expansion card
Rare IBM 384k memory expansion card for PC-XT to bring the 256k motherboard up to 640k ram.
Only $85.00 :( :( :( :( :(
*****************************
В каталоге: http://www.abcresellers.bigstep.com/item.jhtml?UCIDs=1068993%7C1152382&PRID=1133244
Картинка отдельно: http://www.abcresellers.bigstep.com/Images/xt-384mem.jpg
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

NiTr0

18 лет 12 месяцев назад

честно говоря я не представляю как туда можно затолкать DRAM в нем же шина адреса в два раза короче поэтому там используется мультиплексирование адресных сигналов во времени по средствам стробов (RAS "Row Address Strobe" строб адреса строки) (CAS "Column Address Strobe" строб адреса столбца) поэтому чтобы организовать обмен данными с DRAM нам нужен специальный контроллер динамической памяти например i8207.


Проблема не с мультиплексированием линии адресов, проблема с тем, что память динамическая - в основе ячейки не триггер, как в статической, а конденсатор, то есть, ей нужно делать регенерацию данных в ячейках... для этого и пользуются мудреные контроллеры памяти. либо - как в спектрумах, программная регенерация ;)

rgt

18 лет 12 месяцев назад

NiTr0 Динамическая память использовалась уже в PDP-11 и ее советских клонах типа CM-3/CM-4 наряду ферритовой. Так что не надо пугать людей ужастями регенерации. Эта технология старше архитектуры IBM PC лет эдак на ...цать
[offtop]
Вот память на ферритовых сердечниках была действительно памятью!
Как сейчас помню историю двадцатипятилетней давности, когда у нас сдохла СM-4 и меня попросили написать для нее тест. Тест был просто примитивный и в кодах PDP-11 занял меньше двух экранов монитора (т.е не более 40 16 битных слов).
Только вот вводить их пришлось используя инженерный пульт CM-4 где каждый БИТ вводился отдельным переключателем.
Написал и отладил я этот тест на Электронике 60 в пультовом режиме с вводом команд в восьмиричном виде буквально за десять минут, а потом еще полтора-два часа вводил его с пульта, пока не сделал все праввильн. В общем утром начал, к обеду закончил и ребята при помощи осцилографа, тестера и какой-то матери приступили к поиску неисправности...
На следующий день, предвкушая повторение этого извращенного секса приехал на работу, и обнаружил, что ребята уже не только продолжают тестирование, но и уже "вычислили" сдохший тригер и сейчас проверяют, как работает машина после его замены. Память на ферритах сохранила этот тест и после выключения на ночь и после отключения питания для того, чтобы вытащить плату и перепаять сдохший элемент.
[/offtop]

NiTr0

18 лет 12 месяцев назад

NiTr0 Динамическая память использовалась уже в PDP-11 и ее советских клонах типа CM-3/CM-4 наряду ферритовой. Так что не надо пугать людей ужастями регенерации. Эта технология старше архитектуры IBM PC лет эдак на ...цать


Это я к тому, что ключевое отличие статической памяти кэша и динамической оперативной - аж никак не в мультиплексировании линий адреса ;)
[offtop]При помощи нескольких м/сх можно повешать динамическую память на процессорную шину - писать/читать можно будет, но регенерировать прийдется программно. А вот сделать полноценный контроллер динамической памяти на рассыпухе - довольно сложная задача. С PLM - не легче, но компактнее :) но, когда еще есть SRAM с 486-х, заниматься таким для единичного устройства может разве что извращенец от электроники
Насчет ферритов - они и 10 лет будут инфу держать ;)[/offtop]

ivp

18 лет 12 месяцев назад

2 rgt
[offtop]У меня касательно ферритовой памяти воспоминания другие, хотя именно на СМ-4 я впервые поставил собственную производственную (а не учебную) программу - матрос с ветошью... :D
Поясняю: первое соединение, на котором я служил, было бригадой КИК (командно-измерительных комплексов) - этакими плавучими кусками Байконура в океане, а вычислительные центры каждого корабля были построены на МИРах (если помнишь такое чудо), память в которых, само собой, тоже была построена на ферритах; боевые работы проходили в основном ближе к экватору, где, скажем прямо, жарковато, а корабельное кондиционирование работало еле-еле; таки вот, во время боевой работы к МИРам выставлялся боевой пост в виде специального бойца (из свободных), задачей которого было по определенному графику протирать ветошью конденсат, коего больше всего скапливалось именно на ферритах... :D [/offtop]

sarinn

18 лет 12 месяцев назад

А вот еще одна картинка - апгрейд памяти чипами 384К (качеством получше) правда для другой модели (IBM XT 5160).

1. http://search.ebay.com/Vintage-IBM-XT-5160-256K-to-640K-Memory-Upgrade-Kit

И еще детальное описание платы аналогичной моей
1. http://www.sothius.com/hypertxt/ibmpc.html
2. http://www.sothius.com/hypertxt/additional/ibmpcaddition.html

AlnZ

18 лет 11 месяцев назад

>как в спектрумах, программная регенерация

Старое сообщение, но не мог не заметить - не было в спектрумах прамной регенирации! (программа могла запросто выполнить команду Halt, которая запрещала ВСЕ прерывания и спокойно работать дальше)
Регенерация в спеках железная была... [offtop]эх, надо бы схему найти да включить смеху ради... [/offtop]

R_Soft

18 лет 11 месяцев назад

(программа могла запросто выполнить команду Halt, которая запрещала ВСЕ прерывания и спокойно работать дальше)


Вы сами то поняли что написали? Укажите мне источник информации, который кроме Вас утверждает, что команда HALT на процессоре Z80 запрещает ВСЕ прерывания! Команда HALT в переводе значит - "СТОЙ". После команды HALT процессор останавливается и ждет прихода прерывания. И если до команды HALT прерывания были запрещены командой DI (Disable Interrupt), то Z80 так и останется "стоять" до тех пор, пока не прийдет NMI (кнопка MAGIC), либо процессор не сбросят по RESET. Если же до команды HALT прерывания были включены (другими словами разрешены) командой EI (Enable Interrupt), то после команды HALT, опять же применительно к Спектруму, процессор дождется прихода прерывания по линии INT (а прерывания на Speccy следуют с частотой 50 раз в секунду) и продолжит выполнение программы...

AlnZ

18 лет 11 месяцев назад

Да, точно, ляпнул не подумав. Все маскируемые прерывания запрещались командой DI. А последовательность команд DI, HALT выводила систему в глубокий зависон до ресета. А немаскируемые прерывания в спектруме не использовались...
Но общий смысл в том, что мы могли запретить все прерывания и продолжать работать. А если бы на прерывания была повешена программа регенерации памяти, то после такой операции оперативка бы быстренько обнулались.
Ну подзабыл я за 10лет ассемблер спектрума, ну с кем не бывает :)

R_Soft

18 лет 11 месяцев назад

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


А кто Вам мешает сделать команду DI и продолжить работу далее?... Это и есть общий смысл?... :mrgreen: На любом компьютере, базирующемся на Z80 это можно сделать. :) Про программку, повешенную на прерывания, которая ЗАЧЕМ-ТО должна регенерировать память, я вообще не понял... Регенерация памяти сделана на аппаратном уровне. Зачем её регенерить в прерываниях? :shock: