Программирование, радиоэлектроника,
саморазвитие и частичка из моей жизни здесь...

Ретро ПК на 80486 - материнская плата с VLB, SIMM память и кеш-память L2

Обзор материнской платы для сборки ретро компьютера на базе процессора 80486 DX2 66MHz. Оперативная память SIMM, ее идентификация и установка в материнскую плату.

Полезная информация о кеш-памяти второго уровня L2 и особенностях ее использования в системах с 486 CPU. А еще расскажу о подделках L2 Cache RAM в 90-х годах.

Это вторая статья из серии.

Первая часть - Ретро ПК на 80486 - история, особенности микропроцессоров 486.

Содержание:

  1. Материнские платы для процессоров семейства 486
  2. Материнская плата M912, DX-6900
  3. Эксклюзивная для 486-х шина VLB
  4. Оперативная память (DRAM)
  5. Подбор модулей оперативной памяти SIMM
  6. Кеш-память второго уровня (L2), SRAM
  7. Конфигурация кеш-памяти L2
  8. Поддельный кеш L2 и муляжи микросхем SRAM
  9. В завершение

В прошлой статье я рассказал о истории развития и моделях процессоров 80486. В этой части будут рассмотрены не менее важные компоненты, без которых не сможет функционировать ни один компьютер: материнская плата, оперативная память (DRAM) и кеш-память (SRAM).

Материнские платы для процессоров семейства 486

Материнская плата компьютера (MotherBoard, MainBoard, MB, "материнка", системная плата) - платформа, которая собирает и объединяет между собою функционал микропроцессора, памяти, устройств ввода/вывода, разной периферии в виде плат расширения и другого рода "железячек".

Материнские платы для 486-х процессоров выпускались разными производителями и отличались следующим:

  1. Форм-фактором (например AT, Baby-AT);
  2. Возможностями (набор слотов расширения, разъемов под память, установленной кеш-памятью, управление энергоэффективностью);
  3. Поддержкой работы на одной или нескольких разных частотах основной шины;
  4. Наличием регулируемого стабилизатора напряжения (позволял применять процессоры с питанием ядра +5V, +4V, +3.3V);
  5. Ну и, конечно же, качеством исполнения.

Стабилизатор напряжения чаще всего размещался на самой плате и представлял собой управляемую (перемычками или через BIOS) электронную схему, на выходе которой использовался мощный транзистор с небольшим радиатором для охлаждения.

Размещение компонентов этой схемы делалось как можно ближе к месту установки микропроцессора. Это нужно чтобы подводящие к CPU питание дорожки были как можно короче (имели меньшее сопротивление) и в процессе работы в них терялось меньше тока.

Были и конструкции компьютеров на основе 80486, в которых основная плата являлась лишь объединительной, а в ее слоты уже устанавливались платы расширения, содержащие все компоненты типичных материнских плат (иногда на жаргоне ее еще называют "ёлкой").

Такой формат сборки систем применялся в серверах и промышленных ПК, что при необходимости позволяло быстро заменить какой-то из модулей (в том числе и содержащий микропроцессор с памятью).

Материнская плата M912, DX-6900

Мне повезло заполучить достаточно популярную и функциональную материнскую плату форм-фактора AT, которая выпускалась компаниями PC Chips (Hsing Tech Enterprise Co., Ltd), Amptron, Aristo и другими.

Она известна под названиями: M912, DX-6900, 80486 Deep Green.

За все время было выпущено несколько версий этой платы, чтобы различить их я предлагаю ориентироваться по компонентам около транзисторов стабилизатора напряжения:

  • v 1.4 - запаяны три обычных резистора на 0,125Вт, около них расположено три джампера;
  • v 1.7 - запаяны резисторы в корпусе для поверхностного монтажа (SMD), между ними расположен джампер JP35 (3.3V/4V).

В моем случае это плата версии 1.7. Здесь версия "V1.7" указана даже на самой плате, около гнезда DIN-5 для подключения клавиатуры.

Материнская плата M912 (v.1.7), DX-6900, 80486 Deep Green под микропроцессор 80486

Рис. 1. Материнская плата M912 (v.1.7), DX-6900, 80486 Deep Green под микропроцессор 80486.

Материнка для 486 процессора M912 (v.1.7), DX-6900, 80486 Deep Green - фото снизу

Рис. 2. Материнка для 486-го процессора M912 (v.1.7), DX-6900, 80486 Deep Green - фото снизу.

Плата оснащена гнездом Socket 3 под микропроцессоры серии 80486, содержит встроенный регулятор напряжения для ЦП, имеет разъемы ISA и VLB, содержит множество джемперов и массивов из штырьков для ручного конфигурирования, также имеются разъемы под память SIMM двух стандартов.

Привожу возможности этой платы более подробно:

  • Разъем для CPU: Socket 3, c 237/238 пинами, 19×19 PGA (Pin Grid Array), ZIF (Zero Insertion Force, с нулевым усилием для установки);
  • Поддержка CPU: INTEL 80486SX/SX2, 80486DX/DX2/DX4, P24D, Pentium Overdrive, CYRIX CX486S(M6), CX486DX/DX2(M7), CX 5x86, AMD AM486DXLT, Enhanced AMD DX4, AMD 5x86-133;
  • Умножители частоты: 2x, 2.5x и 3x;
  • Частота шины: 25/33/40/50 MHz;
  • Стандартные поддерживаемые частоты CPU: 25/33/40/50/66/75/100/120/133 MHz;
  • Напряжения питания CPU: 3.3В, 4В или 5В;
  • BIOS: Flash AMI (American Megatrends, Inc) WinBIOS (AMIBIOS) с графическим интерфейсом и системой менеджмента питания + до 4х IDE устройств + поддержка LBA (Logical Block Addressing) режима жесткого диска + поддержка режима совместимости больших дисков в MS-DOS;
  • Питание BIOS: литиевая батарейка на 3В;
  • Размер устанавливаемой оперативной памяти: 1МБ - 64МБ;
  • Разъемы под оперативную память: 2шт. 72 pin SIMM (1-64meg FPM DRAM) + 4шт. 30 pin SIMM;
  • Разъемы ISA: 7 шт., 16 бит;
  • Разъемы VLB: 3 шт., 32 бита;
  • Поддержка кеш-памяти второго уровня (L2): 64-1024 (КБ) write-back;
  • Гнезда под кеш-память: 8шт. под память + 1шт. под тег (TAG), 32-пинные;
  • Чипсет: UMC;
  • Управление питанием: SMM/SMI + APM Software Interface.

Платформа поддерживает большое количество популярных микропроцессоров 486-й серии от разных производителей, тактовая частота может достигать 133 МГц и даже больше (с разгоном)!

Разъем Socket 3 для микропроцессоров 486 от INTEL, AMD, CYRIX, TI, IBM и других компаний

Рис. 3. Разъем Socket 3 для микропроцессоров 486 от INTEL, AMD, CYRIX, TI, IBM и других компаний.

Интерфейс BIOS (Basic Input/Output System, система базового ввода/вывода) этой материнской платы - графический! Не зря ведь его назвали "WinBIOS" - все отображается в окнах (Windows), с элементами которых можно взаимодействовать с помощью клавиатуры и мыши.

Даже если мышь не подключена, то все настройки в WinBIOS можно изменять с помощью клавиатуры.

Эту плату еще называют "80486 Deep Green" (Глубоко Зеленая), но не исключительно по причине "зелености" стеклотекстолита, на котором собраны ее компоненты, а потому что у нее есть режим экономии электроэнергии и полная поддержка некоторых передовых на то время стандартов управления питанием:

  • SMM/SMI (System Management Mode/Interrupt) - имеет высокий системный приоритет, позволяет: переходить в ждущий режим для экономии электроэнергии по истечению установленного времени неактивности, снижать частоту процессора, переводить жесткий диск в ждущий режим (IDE Standby Power Down Mode) если он его поддерживает, управление графическим адаптером (VGA Power Control) и отправка сигнала "пустой экран" для перевода монитора в режим сохранения энергии;
  • APM (Advanced Power Management) Software Interface - дополнительный интерфейс для управления питанием через программное обеспечение.

Также на плате предусмотрен специальный "Green Mode" коннектор (JP23) для подключения кнопки, которая при включенной в BIOS опции "Suspend / Resume Switch" будет переводить систему в ждущий режим с пониженным энергопотреблением.

BIOS этой платы содержит еще одну интересную фишку: с помощью специальных комбинаций клавиш клавиатуры можно управлять режимом "Turbo" (увеличение/уменьшение частоты CPU).

При использовании микропроцессора AMD 5x86-133 есть возможность разогнать его до 150 МГц (шина 50 MHz и умножитель 3x)!

Основные электронные компоненты на плате:

  • UM8498F - чипсет от UMC;
  • UM8496F - чип с поддерживающей логикой для UM8498F;
  • NM27C512N - CMOS EPROM (Electrically Programmable Read Only Memory), постоянная память на 512 кБит (64 кБ);
  • N341256P-20 - микросхемы кеш-памяти по 256 кБит (32 кБ), 9шт.;
  • 74F244N - быстродействующий логический буффер, микросхема от Philips;
  • NEC D882 - ключевой транзистор стабилизатора напряжения. Структуры NPN, выполнен в корпусе TO-126, максимальное напряжение коллектор-эмиттер - 30V,  ток коллектора в длительном режиме - 3A;
  • 1431T - микросхема в корпусе TO-92 с тремя ножками, маломощный регулируемый стабилизатор напряжения (2.5-36V). На плате M912 служит для управления транзистором D882.

Чипсет UMC UM8498F и UM8496F на материнской плате M912 (DX-6900)

Рис. 4. Чипсет UMC UM8498F и UM8496F на материнской плате M912 (DX-6900).

На материнской плате установлен линейный (не импульсный) стабилизатор напряжения с кремниевым силовым транзистором (три вывода - БКЭ), длительный ток коллектора которого составляет 3 Ампера (с запасом).

Motherboard M912 (v.1.7), DX-6900, 80486 Deep Green - фото со стороны соккета для CPU

Рис. 5. Motherboard M912 (v.1.7), DX-6900, 80486 Deep Green - фото со стороны соккета для CPU.

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

Таким образом, можно будет надежно питать микропроцессоры 80486 с потребляемой мощностью достигающей 10Вт (5V*2A=10W)!

Комплект детальной документации на M912 в формате HTML (взято с сайта elhvb.com) - 7Zip архив 279 Кбайт.

Эксклюзивная для 486-х шина VLB

Как уже было сказано, на плате присутствуют три 32-битных разъема VLB. Их дополнительные (до ISA разъемов) части очень напоминают более современные PCI-слоты.

VLB (VESA Local Bus) - классическая быстродействующая шина данных, разработанная ассоциацией VESA (Video Electronics Standards Association). Эту шину можно встретить эксклюзивно только на материнских платах с процессорами 80486.

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

Еще во времена первых ПК шина ISA подключалась к шине процессора и вместе с другими подключаемыми к ней адаптерами работала на той же частоте что и он (примерно 8МГц).

С ростом частоты и производительности CPU, пришлось ограничить частоту ISA-шины, поскольку очень не многие адаптеры были способны работать на боле высоких частотах. Главная шина была отделена от шины процессора.

Локальная шина VLB возникла в качестве решения по повышению производительности, которое требовалось для высокопроизводительных видеоадаптеров и устройств ввода/вывода при работе с большими массивами данных, графикой и в набирающих популярность системах MS Windows.

VLB соединяется с локальной шиной "микропроцессор-память", что позволило подключенным к ней адаптерам работать на более высоких, чем в варианте с ISA-шиной, частотах.

Таким образом, в нескольких рядах с ISA-слотами на материнской плате можно видеть дополнительные разъемы по 116 контактов каждый. Для работы с шиной VLB потребуются специальные платы-адаптеры, которые устанавливаются по длине в оба разъема.

Это такие электронные платы, через длину которых данную класическую шину шутя еще называют "Very Long Bus" (очень длинная шина).

В таких адаптерах какой-то не требующий быстродействия функционал может подключаться к контактам ISA-слота, а там где нужна производительность - к VLB. Парочка примеров:

  1. Мультиконтроллерная плата: к ISA-слоту подключены компоненты контроллеров FDD, COM, LPT, а к VLB - схема контроллера IDE;
  2. Видеоадаптер: к ISA подключен VIDEO BIOS, а к VLB - микросхема графического процессора.

Скорость передачи данных по шине VESA Local Bus может достигать 80 МБайт/с и теоретически даже больше.

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

К тому же, у микросхем 80486 могло попросту не хватить питания и мощности сигналов управления для обслуживания большого количества устройств на VLB.

Чтобы понять суть этого ограничения с точки зрения электроники достаточно провести следующий простой эксперимент:

  1. Возьмите батарейку на +3В (таблетку CR2032 или два последовательно подключенных элемента AA, AAA) и подключите к одному из ее выводов резистор на 100 Ом. Будем образно это считать шиной VLB, к которой подводится некоторый сигнал (ток) от процессора;
  2. Подготовьте 2-3 шт. светодиода, какие у вас есть в наличии. Будем образно их считать адаптерами (мультикарта с IDE/FDD/LPT, видеокарта...), подключаемыми к шине VLB;
  3. Подключите один из светодиодов к двум получившимся свободным выводам - к батарейке и резистору (образно мы подключили какой-то один из адаптеров к шине VLB). Заметьте что светодиод засветится достаточно ярко (образно говоря, адаптер работает нормально);
  4. К уже светящемуся светодиоду подключите параллельно еще один - вы заметите что теперь светятся оба, но заметно тусклее чем в варианте когда включен один (образно, адаптеры работают но уже не так стабильно);
  5. Установите еще один образный "адаптер" - подключите третий светодиод. Светятся все три штучки, но опять же еще слабее ("адаптерам" уже не хватает тока, нестабильная работа).

Опыт со светодиодами, демонстрирующий распределение тока при питании от одной шины с ограниченной нагрузочной способностью

Рис. 6. Опыт со светодиодами, демонстрирующий распределение тока при питании от одной шины с ограниченной нагрузочной способностью (три светодиода с одинаковым током потребления и один последний - со сравнительно большим).

Яркость свечения будет уменьшаться пропорционально количеству светодиодов. Объяснение простое: резистор ограничивает ток в электрической цепи и чем больше светодиодов подключено, тем больше тока им надо для свечения с номинальной яркостью. Светодиоды делят между собою ток в цепи, который ограничен резистором.

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

Откуда же этот "токоограничивающий резистор" из нашего эксперимента в реальном процессоре и можно ли его убрать чтобы можно было подключать 10-20 адаптеров? - каждый управляющий пин CPU подключен к расположенным на кристалле микроскопическим транзисторам, которые имеют очень небольшую и ограниченную мощность и не способны пропускать через свои переходы большие токи. Поэтому и возникло такое ограничение и нагрузить шину большим количеством потребителей не получится.

Установив дополнительные буфферные (усиливающие токи) микросхемы можно было бы сделать шину VLB более стойкой к нагрузкам, что позволило бы подключать например 8-10 адаптеров и более. Но исторически так сложилось, что это не понадобилось - на смену пришла более производительная шина PCI, да и разнообразных адаптеров под VLB было не так уж и много.

Поэтому, чтобы все работало надежно, к шине Vesa Local Bus зачастую подключают 1-2 устройства, например: видеоадаптер и высокопроизводительный контроллер IDE/SCSI. Только самое необходимое, где нужна высокая пропускная способность.

Оперативная память (DRAM)

Оперативная память ПК, оперативное запоминающее устройство (ОЗУ), физическая память - это как правило DRAM, организованная на материнской плате ПК несколькими модулями в банки (наборы) памяти.

RAM (Random Access Memory) - память с произвольным порядком выборки. В очень старых компьютерах работа с физической памятью выполнялась порциями попорядку. В случае с RAM в нужный момент времени мы можем получить доступ к любой ячейке без надобности считывать какие-то предшествующие ей данные из других ячеек.

DRAM (Dynamic RAM) - динамическая память, микросхема в которой плотно упакован огромный массив маленьких ячеек (битов), представляющих из себя микроскопические конденсаторы, умеющие удерживать и растрачивать электрический заряд.

Динамическая DRAM - потому что для поддержания состояния зарядов в ячейках необходима процедура их периодической регенерации, выполняемая посредством периодического считывания, и конечно же на это тратятся некоторые ресурсы CPU.

В эпоху 486-х персональных компьютеров наибольшее распространение получили модули памяти SIMM.

SIMM (Single In-line Memory Module) - тип модулей DRAM, разработанный в 1982 году Джеймсом Паркером (James J. Parker) в компании Zenith Electronics, LLC. Контакты на таком модуле расположены в одну линию и с обеих сторон соединены симметрично.

Примером дизайна "Single In-line" также может служить микросхема Hitachi HA13001, выводы которой расположены на корпусе с одной стороны и в одну линию (отсюда и название корпуса SIP - Single In-line Package).

DIMM (Dual In-line Memory Module) - форм-фактор DRAM пришедший на смену SIMM, теперь контакты по обеим сторонам модуля не соединены симметрично, они независимы.

В основном в винтажных PC начала 90х годов можно было повстречать два типа планок SIMM:

  1. 30 контактов (8 разрядов, 9 - с контролем четности) - с объемом памяти 256КБ-16МБ. Для заполнения одного банка памяти в системе с 80486 нужно 4 модуля, а с Pentium CPU (64 бит) требовалось уже 8шт!
  2. 72 контакта (32 разряда, 36 - с контролем четности) - с объемом памяти 1-128 (МБ). В компьютерах с 486-м CPU каждый такой модуль выступает отдельным банком памяти, а с Pentium CPU для одного банка памяти в большинстве случаев понадобится минимум пара таких модулей.

Существовали еще более старые типы модулей памяти - SIPP (Single In-line Pin Package). Это те же самые микросхемы памяти что и в SIMM, только распаяны они на платке с выводами в виде штырьков. Гнезда под такой тип памяти вы можете увидеть на фото материнской платы с 286-м процессором.

Микропроцессор серии 486 имеет 32-разрядную шину данных, это значит что за единицу времени он может принять/передать данные, поступающие по 32-м сигнальным линиям, а это 32 бита (32шт. состояния 1 или 0) = 4 байта (32 бита / 8 бит в байте). Разрядность банков памяти равна разрядности шины данных CPU.

Таким образом, чтобы процессор смог работать с отдельным банком памяти, в нем должны быть установлены четыре модуля 8-разрядной SIMM памяти (4шт. * 8 бит = 32 бита) или же один 32-разрядный модуль. С 64-битными процессорами Pentium - все аналогично.

На материнской плате 30-пиновая планка памяти поводит себя как самостоятельный 8-разрядный чип, независимо от того сколько физических микросхем и компонентов размещено на платке.

Про 72-контактный модуль SIMM памяти можно сказать, что это как бы совмещенные в одном четыре 30-контактных модуля, только с отдельными линиями данных и общей линией адреса.

Позже некоторые фирмы даже выпускали адаптеры, позволяющие в разъем с 72-мя контактами установить платку на которой расположены 4 разъемчика под 30-пиновые модули SIMM. 

Parity Check (контроль четности) - разработанная фирмой IBM технология, добавляющая в процесс записи-чтения байтов данных в памяти проверку их целостности на аппаратном уровне.

К каждому байту данных (8 бит) добавляется дополнительный бит четности (9-й), принимающий 0 или 1 если сумма единиц в 8-ми битах данных нечетная или четная, соответственно. Таким образом, если данные целы, то количество единиц во всех 9-ти битах (8 бит данных + 1 бит четности) - всегда число нечетное (1, 3, 5, 7, 9).

Приведу небольшой пример как это работает.

Допустим что мы записываем в память 1 байт данных 10111001 (8 бит) - у нас здесь 5 (шт.) битов со значением 1 и поскольку это число не четное (не делится нацело на 2) то бит четности мы устанавливаем со значением 0 (в противном случае - 1). Получается структура данных из 9 бит:

10111001 0

Теперь допустим что в памяти одна из ячеек оказалась сбойной и при считывании всей структуры данных из 9-ти бит мы получили:

 Измененный бит 
    (0->1)
      | 
      v
10111011 0

Количество битов со значением 1 у нас теперь парное число - 6 (штук), 9-й бит четности у нас установлен в 0 и говорит что в данных должно быть непарное число битов со значением 1. Таким образом система делает вывод что данные были повреждены.

Думаю вам захотелось задать вопрос: а что если повреждено две ячейки и два бита в байте оказались измененными?

 Измененные биты 
 (0->1 1->0)
      || 
      vv
10111010 0

В таком случае, получается нечетное число байтов с единицами и система может считать что данные целы. Если износ ячеек динамической памяти достиг такого уровня, что нестойкими являются по несколько ячеек подряд (кластерами) или на расстоянии 8 штук, то при работе с другими байтами данных ошибка подсчета четности обязательно даст о себе знать и система уведомит что есть проблемы с памятью, которая требует замены.

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

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

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

Блок контроля четности встроен у всех CPU начиная с 80386. Существовали модули памяти в которых не было контроля четности и чтобы их использовать приходилось отключать этот режим на материнской плате джемпером (Jx) или опцией в BIOS.

Время доступа - показатель быстродействия DRAM, скорость доступа к ячейкам памяти которая измеряется в наносекундах (нс). 1 нс = 10-9 секунд (одна миллиардная часть секунды).

Выпускавшиеся модули памяти SIMM обладали показателями в пределах 50-120 (нс). Чаще всего можно повстречать память с временем доступа 60-70 (нс).

Еще SIMM планки памяти различаются типом динамической памяти:

  • FPM (Fast Pages Mode) DRAM - память с ускоренным постраничным доступом, при котором она разбивается на страницы размером от 512 байт до нескольких килобайт, что сокращает время ожидания при выборке данных в пределах одной страницы. Выпускались варианты с быстродействием 60 и 70 (нс), и только в виде SIMM-модулей.
  • EDO (Extended Data Out) DRAM - появившаяся начиная с 1995 года технология сокращения времени доступа к памяти. В момент установки адреса для получения новой порции данных, данные с предыдущей выборки на выходе все еще остаются доступными для чтения. Это позволяло перекрывать часть данных с предыдущей операции, тем самым уменьшая общее время доступа. Выпускались SIMM и DIMM модули с быстродействием уже начиная с 45 нс.

Память стандарта EDO - это фактически тот же FPM, только с дополнительным регистром-защелкой, который временно удерживает доступные для чтения данные на выходе.

Большинство компьютеров с CPU 486 того времени оснащались 4-8 МБ ОЗУ, этого объема вполне хватало для большинства приложений, игр и ОС Windows 3.1. Изредка где-то можно было увидеть 16М оперативной памяти или больше.

Подбор модулей оперативной памяти SIMM

Итак, материнская плата M912 имеет в распоряжении три банка внешней оперативной памяти (RAM):

  • BANK0 - четыре 30-пиновых слота SIMM;
  • BANK1 - первый 72-пиновый слот SIMM;
  • BANK2 - второй 72-пиновый слот SIMM.

Банки памяти со слотами под SIMM-модули на материнской плате M912

Рис. 7. Банки памяти со слотами под SIMM-модули на материнской плате M912.

При установке памяти в слоты на плате M912 следует учитывать некоторые особенности ее работы:

  1. Последовательность заполнения банков здесь не играет роли - система распознает и использует заполненные банки памяти автоматически;
  2. BANK0 состоит из четырех слотов и если он используется, то в них обязательно должен быть установлен набор из четырех одинаковых 30-пиновых планок памяти;
  3. При использовании BANK0 слоты для BANK1 и BANK2 перестанут поддерживать память с двухсторонним монтажом микросхем.

В данном случае каждый 72-пиновый модуль SIMM представляет из себя отдельный банк, поэтому такие модули можно ставить в плату произвольно - один или два.

В моем распоряжении есть некоторое количество планок 72-пиновой памяти по 8МБ и 16МБ, а также одна с двухсторонним монтажом микросхем на 32МБ! Есть еще 8 планочек старенькой 30-пиновой памяти SIMM по 1МБ.

72-пиновые модули SIMM памяти на 16МБ с EDO и 32МБ с FPM (фото с двух сторон)

Рис. 8. 72-пиновые модули SIMM памяти на 16МБ с EDO и 32МБ с FPM (фото с двух сторон).

72-пиновый FPM модуль памяти SIMM на 32МБ - двухсторонний бутерброд из микросхем (фото в профиль)

Рис. 9. 72-пиновый FPM модуль памяти SIMM на 32МБ - двухсторонний "бутерброд" из микросхем (фото в профиль).

Старенькие 30-пиновые модули памяти SIMM на 1МБ от Panasonic и Topless

Рис. 10. Старенькие 30-пиновые модули памяти SIMM на 1МБ от Panasonic и Topless.

Я решил использовать две 72-контактные планки памяти: 16МБ + 32МБ для заполнения банков BANK1 и BANK2.

Четыре модуля по 1МБ на 30 пинов лучше не устанавливать, поскольку ими наберется дополнительно всего лишь 4МБ, но при этом общая скорость работы всей установленной пfмяти может снизится до уровня быстродействия этих планок (70-80 нс), а также перестанет работать планка памяти на 32МБ с двухсторонним монтажом микросхем.

Как для ПК на процессоре 80486, то 16+32=48 (МБ) оперативной памяти - это очень серьезный объем, который не часто можно было встретить даже на более новых рабочих станциях с CPU Pentium и Pentium MMX!

В планке памяти 16МБ с одной стороны припаяны 9 микросхем HY5117404B J-60 - Hynix, 16 Mbit, 60 ns, EDO Dynamic RAM (DRAM). Восемь из них используется для данных, а оставшаяся одна - похоже что для контроля четности.

На планке памяти 32МБ по двум сторонам распаяны 18 микросхем:

  • HY5117400A J-60, HY5117400B J-60 (16шт.) - Hyundai Electronics America, 16 Mbit, 60 ns, FPM Dynamic RAM (DRAM);
  • KM44C4103CK-6 (2шт.) - Samsung Semiconductor, 16 Mbit, 60 ns, FPM Dynamic RAM (DRAM).

Вся эта информация легко ищется в поисковых системах и по даташитам на чипы. Поэтому, если у вас есть внешне неопознаваемая планка памяти SIMM, то можно заранее узнать ее объем и характеристики по запаянным на ней микросхемам.

Можно ли быстро определить скорость работы и тип памяти (FPM, EDO) по маркировке микросхем? - теоретически да, но все же лучше обратиться за информацией к даташиту. Примеры возможных закономерностей в маркировке чипов DRAM на SIMM-модулях:

  • время доступа - часто это число, стоящее после дефиса в длинной строчке или после переноса ее части. Например: "HY5117400B J-60", а также также другие вариации "-60" и "-6" означают 60 нс;
  • тип памяти - берем первую расположенную перед дефисом цифру из большого числа (буквы не считаем), если это 4 или 5 то скорее всего память типа EDO (HY5117404B J-60). Если 0 - FPM (HY5117400B J-60).

В документация на мою материнскую плату явно указано что она поддерживает FPM тип DRAM, но нет никаких упоминаний про EDO. Установка последнего типа памяти в такую системную плату может сработать, но при этом есть вероятность возникновения конфликтов у устройств, которые расположены на той же шине что и память.

Поэтому, чтобы перестраховаться от возможных конфликтов аппаратных ресурсов, планку памяти с EDO на 16МБ я решил заменить на другую аналогичную, но с FPM DRAM, на ней расположено 9 микросхем:

  • N1511740C0J-60S (8шт.) - Nanya Technology, 16 Mbit, 60 ns, FPM Dynamic RAM (DRAM);
  • KM44C4103CK-6 - 1шт.

72-пиновый модуль SIMM памяти на 16МБ с FPM, установлены микросхемы от компании Nanya Technology

Рис. 11.  72-пиновый модуль SIMM памяти на 16МБ с FPM, установлены микросхемы от компании Nanya Technology.

Таким образом, на материнской плате будет заполнено два банка памяти (BANK1 + BANK2) двумя отдельными 72-пиновыми планками SIMM типа FPM, но при этом разного объема и от разных производиетлей. В такой конфигурации не должно возникнуть каких-то явных проблем.

Кеш-память второго уровня (L2), SRAM

Как было сказано выше, у всех микропроцессоров 80486 есть уже встроенная в кристалл быстродействующая кеш-память первого уровня (L1, Level 1) в размере 8-16 КБ. Эта память построена по технологии SRAM.

SRAM (Static Random Access Memory) - статическая оперативная память. Имеет высокое быстродействие и может работать на той же частоте что и CPU, благодаря чему обращение к ней происходит без состояний ожидания.

В отличии от динамической RAM (DRAM), здесь ячейки памяти не нуждаются в периодической регенерации заряда, поскольку их принцип построения совсем иной.

Каждая ячейка памяти SRAM - это управляемый триггер, собранная из шести транзисторов электронная схема. Такой элемент может находиться в двух стабильных логических состояниях ("0" или "1") и хранить в себе 1 бит информации.

Здесь уже нет конденсаторов, которым для поддержания содержимого ячеек нужна периодическая регенерация заряда. Состояние ячеек в памяти SRAM также зависит от питания. Если питание для матрицы из триггеров пропадает, то все установленные или измененные в них состояния будут утеряны.

SRAM - самая быстрый, но в то же время очень дорогостоящий тип памяти в компьютере 90-х годов.

Кеш-память второго уровня (L2, Level 2) - высокоскоростной буффер, внешняя память типа SRAM, которая устанавливается на материнской плате 486-го PC в виде набора из отдельных микросхем (внешний кеш).

Рассказывая в прошлой части о процессорах 80486 я в общих чертах упомянул для чего нужна такая память и как она работает. Кеш-память второго уровня пригодится в случае, когда нужные данные не были обнаружены в кеше L1 или же не уместились в его объем. За счет дополнительного и часто большего по сравнению с L1 размера, кеш-память второго уровня может дополнительно ускорить операции с данными.

Быстродействие микросхем кеш-памяти L2 на то время составляло 15-20 наносекунд (нс). Для сравнения, стандартная скорость доступа к памяти ОЗУ (DRAM) варьировалась в пределах 60-80 нс.

Типы кеша:

  • WT (Write-Through) - кеш со сквозной записью, это значит что записанные в нее данные сразу же будут записаны также и в ОЗУ. Таким образом CPU сможет работать всегда с самыми свежими данными в памяти;
  • WB (Write-Back) - двунаправленный кеш, позволяет оптимизировать операции чтения и записи.

Встроенный в CPU 80486 кеш уровня L1 используется только в операциях считывания данных. А вот внешний кеш уровня L2 здесь уже может быть двунаправленным.

Конфигурация кеш-памяти L2

На моей материнской плате "PC Chips M912 v.1.7" расположено 9 панелек под микросхемы SRAM в корпусах DIP с количеством выводов до 32шт. Поддерживаются 64KB, 128KB, 256KB, 512KB и 1MB внешней кеш-памяти L2 в режиме Write-back.

Возможно кто-то задастся вопросом: а почему не 8 панелек под чипы, ведь 8 х 32KB = 256KB?

Ответ здесь прост: это классическая схема "N+1", в которой N микросхем используются для кеширования данных (Data Cache), а оставшаяся - для маркировки (тегирования) данных из памяти, которые попали в кеш (Tag for Cache).

Сейчас в гнездах установлено 9 микросхем SRAM NKK N341256P-20 (Japan) в корпусе DIP28 с размером памяти 256кбит (32кбайт) и быстродействием 20 нс, что дает в сумме: 32*8=256 (КБ) кеша L2 + 32 КБ под тег.

Кеш-память L2 размером 256 КБ, собранная на материнской плате M912 из микросхем SRAM N341256P-20

Рис. 12. Кеш-память L2 размером 256 КБ, собранная на материнской плате M912 из микросхем SRAM N341256P-20.

Поскольку гнезда DIP под микросхемы здесь 32-контактные, то микросхемы SRAM в корпусе DIP-28 (с 28 выводами) нужно устанавливать так, чтобы со стороны ключа (1-й ножки, полукруглое углубление с одной из сторон у панельки и чипа) было свободно 4 гнездышка.

Кеш-память на плате разделена на два банка и тег:

  • U20 - тег (TAG RAM);
  • U21-24 - Банк 0 (BANK 0);
  • U28-31 - Банк 1 (BANK 1).

Таким образом, при использовании внешнего кеша L2 здесь должен быть заполнен хотя-бы один банк + микросхема для тегирования = минимум 5 микросхем SRAM.

Все микросхемы в банке должны быть одинаковыми. Например, можно установить 4 микросхемы SRAM на 256KBit (32KB) + 1 под TAG и получить в сумме 128KB кеша L2.

Чтобы система на основе 80486 приняла установленный кеш L2, его нужно правильно сконфигурировать, делается это при помощи перемычек (Jumper, сокращенно - JP).

В случае с платой M912 это:

  1. JP5 - 7 пинов, шесть комбинаций: замкнуты 1-2, 2-3, 3-4, 4-5, 5-6 или 6-7;
  2. JP10 - 3 пина, две комбинации: замкнуты 1-2 или 2-3;
  3. JP11-JP14 - по 2 пина, две комбинации: замкнуты (SHORT, CLOSE) или разомкнуты (OPEN).

На фото выше можно видеть что: JP5 установлена в положении 2-3 (остальные джемперы висят одной ножкой в воздухе, они про запас для других позиций), JP10 - 2-3, JP11 и JP12 разомкнуты, JP13 и JP14 замкнуты. Эта настройка соответствует объему кеша 256KB.

Все возможные конфигурации можно посмотреть прикрепленном выше архиве с документацией на материнскую плату M912.

После провалившейся попытки восстановить одну из материнок для 80486, где вытекший из Ni-Cd (Никель-Кадмий) батарейки электролит вызвал катастрофические разрушения соединительных дорожек и контактов, я извлек из этой платы все что может пригодиться, в том числе и микросхемы кеш-памяти.

Микросхемы L2 кеш-памяти W24257AK-15 на 256кбит, 32кбайт (15нс)

Рис. 13. Микросхемы L2 кеш-памяти W24257AK-15 на 256кбит, 32кбайт (15нс).

Таким образом в наличии имеется еще девять микросхем более быстродействующей SRAM (15 наносекунд) в корпусе DIP-28, что позволит потом собрать объем в 256КБ + TAG.

Поддельный кеш L2 и муляжи микросхем SRAM

В отличии от DRAM микросхемы SRAM содержат намного больше транзисторов, их производственный технологический процесс более сложный, поэтому и стоимость такой памяти при сравнительно меньшем объеме значительно большая.

Комплект микросхем кеш-памяти для получения кеша L2 объемом 256 КБ мог обойтись в сумму примерно 50$! При этом вся материнская плата могла стоить 120-180$.

Данная ситуация с ценами на SRAM привела к тому, что некоторые компании-производители материнских плат начали мошенническую игру по уменьшению их стоимости за счет установки фальшивых микросхем.

Зачем в материнские платы под 80486 ставили фальшивые микросхемы кеш-памяти L2? - для удешевления общей цены платы, что приводило к популярности подобного товара у некоторых, наивных и желающих максимально сэкономить, покупателей. Поддельные материнские платы могли стоить на 30-50% дешевле оригинальных моделей.

Таким образом, в середине 90-х появились системные платы по очень "вкусным" ценам, например по 70-80$. Чувствуете разницу?

В списке компаний, которые "прославилась" таким родом деятельности, оказалась и PCChips, выпускавшая большое количество материнских плат под процессор 80486, в том числе M912 и, например, более поздние M918i (DX-9300).

Все выглядело следующим образом: на системной плате устанавливались муляжи микросхем, при этом прошивка BIOS была исправлена так, чтобы система всегда рапортовала о наличии кеша L2 (Extarnal cache) независимо от наличия физических микросхем SRAM и конфигурации перемычек для кеша.

Муляж микросхем зачастую представлял из себя пластиковый корпус DIP с выводами, внутри которого не было реального кристалла, маркировка была выполнена некачественно.

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

Как отличить настоящие микросхемы кеш-памяти L2 от фальшивых? - вот некоторые признаки вероятного наличия фейкового кеша и некачественной материнской платы:

  1. Отсутствие информации и документации на материнскую плату, noname-модель;
  2. Микросхемы кеша запаяны прямо в плату, панельки под них отсутствуют (если экономили даже на панельках, то можно ожидать и других сюрпризов);
  3. Шрифт надписей на микросхемах - расплывчатый, не четкий;
  4. BIOS рапортирует что L2 Cache присутствует даже если: извлечь/выпаять микросхемы, отключить кеш настройками джемперов;
  5. На месте джемперов для настройки кеша впаяны перемычки.

 Фейковые микросхемы кеш-памяти L2 на материнских платах для процессоров 80486 

Рис. 14. Фейковые микросхемы кеш-памяти L2 на материнских платах для процессоров 80486.

Реальное наличие кеша L2, даже если BIOS рапортирует поддельную информацию, можно проверить с помощью программ: cachechk, speedsys.

Например, запустив замечательную программу SpeedSys и дождавшись результатов тестов, достаточно посмотреть на заметные отличия в скорости работы основной памяти (Memory throughput) и с использованием кеша L2 (Data cache L2).

Истории с поддельными микросхемами кеш-памяти L2 наделали много шума и к 1995 году это мошенническое движение практически угасло. Тем не менее, поддельные материнки того времени могут попасться кому-то даже и сейчас, так что будьте внимательны!

Бывает что кеш-память L2 почему-то не видится даже на качественной материнской плате под 80486, в чем моежт быть причина? - возможно одна или несколько микросхем немного вылезли из панелек или неправильно выставлены джемпера конфигурации.

Нужно убедиться что микросхемы надежно установлены в панельки, если нужно то подожимать их, а также найти документацию на системную плату и выставить все джемперы как там рекомендуется.

С моей материнской платой M912 от PC-Chips мне реально повезло, я не увидел никаких признаков удешевления производства, микросхемы кеш-памяти выглядят натурально и с качественной маркировкой, чипсет также без перемаркировки (микросхема от UMC).

Позже реальный тест скорости передачи данных покажет на что способны эти микросхемки SRAM.

В завершение

Вторая часть путешествия в мир железа и винтажных компьютеров 80486 завершена.

В следующей части будет не менее интересно - рассмотрим VLB контроллер интерфейсов для HDD/FDD/COM/LPT, шлейфы, старые жесткие диски (HDD, винчестера), флоппи-дисководы (FDD) на 3.5' и 5.25' и дискеты к ним, а также дисковод Iomega ZIP 100 с накопителями. Все это можно будет увидеть как снаружи, так и внутри.

Продолжение - Ретро ПК на 80486 - контроллер FDD/HDD/COM/LPT, жесткие и гибкие диски, дисководы 5.25, 3.5, ZIP.

Полезные ссылки и источники информации:

  1. Wikipedia - VESA Local Bus
  2. elhvb.com - мануалы по старым материнским платам, I/O-картам, BIOS'ам
  3. stason.org - документация по старым материнкам, мультикартам и много другой информации
  4. Bad mainboards, how to recognise and avoid them (Red Hill Technology, 1991-2017).
1 426 Железо