MSD #09
18 декабря 1999
  Железо  

Железо - схема расширения памяти на SIMM от JtN/4D.


Аппаратное обеспечениеЭксплуатация и доработкиПамятьРасширение ОЗУ



                         SIMM & Speccy


(C) JtN/4D/10.03.99


  Может я вас разочарую, но схем не будет. И вовсе не из-за то-
го, что мне, как обычно, лень. В принципе, если вы владелец
обычного Пентагона, Скорпиона, или "неоцветненного" (в CP/M ко-
нечно) Профи, то проблем нет. Из всех оставшихся я знаю только
Профи (версии 4 и 5). В них требуется одновременно читать 2 бай-
та из RAM, но и это не так сложно (кому надо пишите).

  Теперь немного справочной информации: Микросхемы DRAM органи-
зованы в виде матрицы, строки и столбцы которой выбираются им-
пульсами RAS (Row Access Strobbe) и CAS (Column Access Strobe).
Для сохранения информации к каждой строке матрицы необходимо об-
ращаться с периодом около 300мс. В pC сигнал со счетчика, выра-
батываемый каждые 15мкс, вызывает холостой цикл обращения к па-
мяти для регенерации очередной строки. Микросхемы DRAM имеют ем-
кость до 4Мбит, время доступа 50-250нс и организованы по 1 или 4
бита в корпусе. Цифровая часть обозначения микросхемы имеет вид:
NC-T, где N=1,4 - разрядность ячеек, бит; C=64,128,256,000... -
количество ячеек
                       (64:64К, 000:1М);
Т - время доступа в наносекундах или десятках наносекунд.

  Микросхемы могут упаковываться в DIPкорпуса, устанавливаемые в
кроватки; собираться в модули SIPP (Single InLine Pin Package) и
SIMM (Single InLine Memory Module), устанавливаемые в специаль-
ные гнезда. SIPP модули имеют 30 штырьковых выводов, SIMM 30 или
72 печатных вывода. SIPP - редко используемые, совпадают по раз-
водке со стандартными SIMM 30pin.

  Подключение. Если у вас обычный Спектрум без всяких цветных
(расширенных) режимов, то есть вам не надо в один и тот же мо-
мент времени читать более одного байта из памяти, то подключение
сводится к установке одного регистра или буфера (кому как удоб-
ней) и регенерации 10 и возможно 11 бита - дополнительных строк
модулей (SIMM'ы имеют строк в 2 (а некоторые в 4) раза больше,
чем РУ7 и следовательно их нужно регенерировать). Но в принципе,
если сигналы MA8, MA9 кинуть на "землю", то можно обойтись без
регенерации, при этом потеряв значительную часть памяти. Пара
советов: т.к. во всех Спектрумах память регенерируется видео-
контроллером (ВК), то сигналы регенерации следует искать там.
Найдите сигналы ВК, которые подаются через мультиплексоры на
МА0-МА7 во время, когда /RAS=0 - т.е. активен. Эти сигналы в ре-
генерации не участвуют, следовательно их можно задействовать,
выбрав из них тот, частота которого больше (в Профи Это DA11, в
Скорпионе (возможно!) ARF) - назовем его DAr. Далее отрезаем его
и вешаем на "землю" вход мультиплексора, также найдите сигнал
адресной шины процессора (обзовем его Ar), соответствующий DAr и
отрежьте от мультиплексора - этот бит (вход мультиплексора) уве-
личит память в 2 раза, т.е. его нужно повесить на какой-нибудь
порт. Оставшиеся сигналы: Ar и DAr нужно повесить на собственный
мультиплексор (см. рис.1), с которого будем иметь еще один бит
расширения памяти. Таким образом, прорегенерировав один бит мо-
дуля вы учетверите его емкость! Ну и наконец еще одна проблема.
Она заключается в том, что SIMM'ы не имеют раздельных входов и
выходов данных, а в большинстве Спектрумов они раздельны, т.е.
для чтения из памяти используется внутренняя шина, с которой
данные кидаются через регистры на видео или шину процессора
(CPUmemREG). Но и тут не все так плохо, просто ставим регистр
наоборот, относительно CPUmemREG, который будет открываться во
время записи в память (см. рис.2). Если у кого-то возникли сом-
нения по работоспособности - скажу, что у меня все это неплохо
работает уже несколько месяцев. Замечание: во время подключения
Simm 30pin выяснилось, что его сигнал CAS инверсный, то есть ес-
ли подключаете Simm 72pin, то CAS вешаете на CAS, а если 30pin,
то сначала не забудьте его проинвертировать. Теперь поключайте
Simm и работайте с версией DOSа by Reanimator (4.12F).


Приложение.



Рис.1
       ┌──┬────┬─┐
 GND──6┤A0│    │ │7
 DAr──5┤A1│    │A├──MA8
 EXb──4┤A2│    │ │
  Ar──3┤A3│КП12│ │    MA9 --> SIMM
 GND──1┤0E│    │ │    CPU - active when
       ├──┤    │ │    CPU have access to
     14│SE│    │ │        memory
/RAS───┤0 │    │ │    EXb -> Extended port
 CPU──2┤1 │    │ │    DAr, Ar - see above
       └──┴────┴─┘


Рис.2


   2┌────┬────┬────┐14     ┌──┬──┬──┐
DB──┤ DC │    │  D ├──DB'┌ ┤ 0│RG│0 ├ ┐
    ├────┤DRAM├────┤     │ ┤ 1│  │1 ├ │
  ┌ ┤ A0 │    │    │     │ ┤ 2│  │2 ├ │
  │ ┤ A1 │    │    │   DB│ ┤ 3│ И│3 ├ │DB'
  │ ┤ A2 │    │    │     │ ┤ 4│ Р│4 ├ │
MA│ ┤ A3 │ 565│    │     │ ┤ 5│ 2│5 ├ │
  │ ┤ A4 │ РУ7│    │     │ ┤ 6│ 2│6 ├ │
  │ ┤ A5 │    │    │     └ ┤ 7│  │7 ├ ┘
  │ ┤ A6 │    │    │      9├──┤  ├──┤
  │ ┤ A7 │    │    │  +5В──┤ C│  │  │
  └ ┤ A8 │    │    │      1│  │  │  │
    ├────┤    │    │   WE──┤0E│  │  │
RAS─┤/RAS│    │    │       └──┴──┴──┘
    ├────┤    │    │
CAS─┤/CAS│    │    │
    ├────┤    │    │
 WE─┤/WE │    │    │
    └────┴────┴────┘


 DB - CPU DATA BUS.
 DB'- SUB DATA BUS - внутр. шина памяти.


             Таблица 1.
      Организация модулей SIMM.
┌───────┬────────────────┬───────────────┐
│Емкость│ С паритетом    │Без паритета   │
│       ├────────┬───────┼──────┬────────┤
│ BYTE  │  30pin │ 72pin │30pin │ 72pin  │
├───────┼────────┼───────┼──────┼────────┤
│ 256K  │ 256K*9 │   -   │256K*8│   -    │
│  1M   │  1M*9  │256K*36│ 1M*8 │ 256K*32│
│  2M   │   -    │512K*36│  -   │ 512K*32│
│  4M   │ 4M*9   │ 1M*36 │ 4M*8 │ 1M*32  │
│  8M   │   -    │ 2M*36 │  -   │ 1M*32  │
│  16M  │   -    │ 4M*36 │  -   │ 4M*32  │
│  32M  │   -    │ 8M*36 │  -   │ 8M*32  │
│  64M  │   -    │ 16M*36│  -   │ 16M*32 │
└───────┴────────┴───────┴──────┴────────┘

             Таблица 2.
  Назначение выводов модулей SIMM 30pin.
 ┌────┬─────┬─────┬────┬─────┬─────────┐
 │Pin │ STD │ IBM │Pin │ STD │   IBM   │
 ├────┼─────┼─────┤────┼─────┼─────────┤
 │ 1  │ +5В │ +5В │ 16 │ DB4 │  DB4    │
 │ 2  │ CAS │ CAS │ 17 │ MA8 │  MA8    │
 │ 3  │ DB0 │ DB0 │ 18 │ MA9 │  MA9    │
 │ 4  │ MA0 │ MA0 │ 19 │ MA10│  RAS1   │
 │ 5  │ MA1 │ MA1 │ 20 │ DB5 │  DB5    │
 │ 6  │ DB1 │ DB1 │ 21 │ WE  │  WE     │
 │ 7  │ MA2 │ MA2 │ 22 │ GND │  GND    │
 │ 8  │ MA3 │ MA3 │ 23 │ DB6 │  DB6    │
 │ 9  │ GND │ GND │ 24 │ N.C.│  PrD    │
 │    │     │     │    │     │  (GND)  │
 │ 10 │ DB2 │ DB2 │ 25 │ DB7 │  DB7    │
 │ 11 │ MA4 │ MA4 │ 26 │ DB8 │  PrD    │
 │    │     │     │    │ Out │ (1M=GND)│
 │ 12 │ MA5 │ MA5 │ 27 │ RAS │  RAS    │
 │ 13 │ DB3 │ DB3 │ 28 │ CAS │  N.C.   │
 │    │     │     │    │Parity         │
 │ 14 │ MA6 │ MA6 │ 29 │ DB8 │  DB8    │
 │    │     │     │    │ In  │ In/Out  │
 │ 15 │ MA7 │ MA7 │ 30 │ +5В │  +5В    │
 └────┴─────┴─────┴────┴─────┴─────────┘


   STD - стандартный SIMM (SIPP)
   IBM - SIMM фирмы IBM


               Таблица 3.
  Назначение выводов модулей SIMM 72pin.
 ┌────┬──────┬────┬──────┬────┬──────┐
 │Pin │ Name │Pin │ Name │Pin │ Name │
 ├────┼──────┼────┼──────┼────┼──────┤
 │ 1  │ GND  │ 25 │ DB22 │ 49 │ DB8  │
 │ 2  │ DB0  │ 26 │ DB7  │ 50 │ DB24 │
 │ 3  │ DB16 │ 27 │ DB23 │ 51 │ DB9  │
 │ 4  │ DB1  │ 28 │ MA7  │ 52 │ DB25 │
 │ 5  │ DB17 │ 29 │ BS0  │ 53 │ DB10 │
 │ 6  │ DB2  │ 30 │ +5В  │ 54 │ DB26 │
 │ 7  │ DB18 │ 31 │ MA8  │ 55 │ DB11 │
 │ 8  │ DB3  │ 32 │ MA9  │ 56 │ DB27 │
 │ 9  │ DB19 │ 33 │ RAS3 │ 57 │ DB12 │
 │ 10 │ +5В  │ 34 │ RAS2 │ 58 │ DB28 │
 │ 11 │ CASp │ 35 │ DP2  │ 59 │ +5В  │
 │ 12 │ MA0  │ 36 │ DP0  │ 60 │ DB29 │
 │ 13 │ MA1  │ 37 │ DP1  │ 61 │ DB13 │
 │ 14 │ MA2  │ 38 │ DP3  │ 62 │ DB30 │
 │ 15 │ MA3  │ 39 │ GND  │ 63 │ DB14 │
 │ 16 │ MA4  │ 40 │ CAS0 │ 64 │ DB31 │
 │ 17 │ MA5  │ 41 │ CAS2 │ 65 │ DB15 │
 │ 18 │ MA6  │ 42 │ CAS3 │ 66 │ BS2  │
 │ 19 │ Rsv. │ 43 │ CAS1 │ 67 │ PD0  │
 │ 20 │ DB4  │ 44 │ RAS0 │ 68 │ PD1  │
 │ 21 │ DB20 │ 45 │ RAS1 │ 69 │ PD2  │
 │ 22 │ DB5  │ 46 │ BS1  │ 70 │ PD3  │
 │ 23 │ DB21 │ 47 │ WE   │ 71 │ BS3  │
 │ 24 │ DB6  │ 48 │ Rsv. │ 72 │ GND  │
 └────┴──────┴────┴──────┴────┴──────┘

                Обозначения:


 PD  - Presence Detect - индентификатор
       наличия и типа.
 N.C.- No Connection - свободный вывод.
 DBi - биты данных.
 DB8 - бит паритета для SIMM30.
 DPi - бит паритета i-го байта.
 MA  - мультиплексированный адрес.
 RAS, CAS - стробы выборки строки и столб-
            ца соответсвенно.
 WE  - запись.
 BS  - выборка блока.
 Rsv - Reserved.

 В статье использованы материалы из книги М.Гука "Аппаратные
средства IBM PC", издательство "Питер Пресс", 1996.





Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Iron - доработка 1Mb памяти для GRM.
Железо - Расширение памяти кoмпьютера ZS Sсorрion 256.
Металлургия - Как расширить память компьютера "БАЛТИКА" до 512 Кб.

В этот день...   17 августа