Ferrite Core Memory Theory

Кратко в сто слов

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

Подробнее в четыреста слов

Ферритовая память широко использовалась в вычислительной технике начиная с конца 50-х годов и до конца 70-х годов. Её основа маленькие тороидальные ферритовые сердечники иначе называемыми ферритовыми магнитопроводами. Это элементы из которых собираются устройства для хранения данных. Каждый сердечник позволят хранить один бит данных, благодаря тому, что может принимать два состояния намагниченности, чем самым кодируя либо логический ноль, либо логическую единицу двоичного кода. Кроме того, благодаря наличию прямоугольной петли гистерезиса, сердечник может резко переключаться между двумя состояниями намагниченности под воздействием электрического поля. Для этого через каждый сердечник пропущено несколько проводков. Подавая ток по одним и анализируя наличие тока в других, можно понять, что было записано в сердечниках и записывать в них новую информацию. Физически ряды колечек объединяются в квадратные или прямоугольные матрицы, которые соединяются в кубы памяти. Число сердечников в кубах памяти может достигать нескольких сотен тысяч штук. При отключении запоминающего устройства от электричества хранимые в нём данные не уничтожаются. Однако, они разрушаются при чтении и поэтому требуют особой процедуры восстановления, называемой регенерацией. Внутри пластиковой рамки провода располагаются параллельно горизонтально и вертикально, образуя решетку с электрическими выводами за пределы рамки. Колечки висят на всех пересечениях пар проводов собираясь в матрицу. Горизонтальные провода называются адресными, вертикальные разрядными и нужны для выбора нужного сердечника из матрицы. Третий провод называется проводом считывания, он проходит змейкой через все сердечники и используется для чтения данных. Форма змейки и её непрерывная длина определяется размерами матрицы и требованиями к помехоустойчивости. Часто добавляют ещё один провод для выполнения регенерации данных после считывания. Этот провод называется провод запрета и так-же проходит через все сердечники змейкой. Известно несколько схем построения и управления памятью, отличающиеся числом проводов, способами их прокладки и параметрами пропускаемого тока. Память собранная по разным схемам отличается объёмами, быстродействием, помехоустойчивостью и количеством необходимого внешнего оборудования. Схемы построения называют 2D или 3D, иначе называемые схемами типа Z и с совпадением двух токов. Существовали схемы с совпадением трёх токов, но они не получили развития из-за технических сложностей реализации. Кроме того, широко применялась схема 2.5D, обладающая частичными свойствами первых двух. Помимо сердечников тороидальной формы запоминающие устройства выполняют на биаксах - особых ферритовых сердечниках с двумя взаимо-перпендикулярными отверстиями разделенными перемычкой. При использовании биакса потери данных при чтении не происходит и регенерация не требуется, но при этом сильно снижается скорость записи. Кроме этого, существует большой класс долговременных запоминающих устройств, предназначенных только для чтения данных. В них используются ферритовые сердечники П-образной формы и записать любые новые данные можно лишь значительным ручным изменением внутренней структуры устройства.

Детально: различные схемы построения ферритовой памяти

Запоминающие элементы ОЗУ на ферритовых сердечниках собираются в виде матриц, в которых обеспечивается свободный доступ к любому сердечнику или группе сердечников. Сердечники пронизываются проводами и, в зависимости от структуры памяти, через каждый сердечник может проходить от двух до четырёх проводов. Различают три основных типа построения ОЗУ - 3D, 2D и 2.5D.

Тип 3D

Эту схему так же называют с совпадением двух токов. Исторически она появилась раньше остальных. Каждый сердечник в матрице пронизывает три или четыре провода, а именно два адресных провода, провод считывания и провод запрета. Функции двух последних иногда совмещаются в один провод. Адресные провода походят через сердечники по горизонтали и вертикали. Если матриц несколько, то одноименные провода разных матриц соединяются последовательно. Для выбора определённого сердечника в оба адресных провода подаётся ток отрицательной полярности с силой в два раза меньшей, чем необходимо для перемагничивания сердечника. В результате, лишь в сердечнике лежащем на пересечении двух адресных проводов происходит перемагничивание. Перемагнитившийся из единицы в ноль сердечник создаст ЭДС в проводе считывания, а сердечник с нулём создаст лишь слабый ток помехи. При считывании логической единицы с сердечника он переходит в ноль, то есть хранимые данные разрушаются. Для восстановления информации производят регенерацию данных, для чего в матрице прокладывают четвёртый провод пронизывающий сразу все сердечники. Этот провод называют проводом запрета и иногда его функции можно совместить с проводом считывания.

Здесь и далее на изображениях: Красные - адресные провода. Зелёные - разрядные провода. Синий - провод считывания. Чёрный - провод запрета.

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

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

Рассматривалось несколько вариантов непрерывных "змеек", но кардинальным стало решение использовать не сплошной провод считывания, а разделить их на несколько более коротких отрезков. Аналогично поступили и с проводом запрета. Самый первый вариант появился в 1956 году в оперативной памяти ЭВМ TX-0. В ней использовалось 16 матриц, каждая по 4096 бит в которых провода считывания и запрета шли змейкой не по всей площади, а четырьмя участками. Одна змейка шла в пределах ферритового поля 16 на 16 сердечников.

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

В последствии, разные варианты этой идеи привели к разнообразным "узорам" из проводов, и к четко различимым нескольким группам сердечников на сплошном ферритовом поле матрицы.

Тип 2D

Эту схему ещё называют типом Z. Каждый сердечник в матрице пронизывает два или три провода. В случае трёх это адресный провод, разрядный и считывания. В случае двух, разрядный используется и для считывания. Для считывания данных из одного сердечника в его адресный и разрядный провода одновременно подаётся большой отрицательный импульс тока, который приводит к тому, что сердечник перемагничивается из положительного состояния в отрицательный. При этом в проводе считывания наводится электродвижущая сила (ЭДС), которую можно засечь, тем самым поняв, что сердечник хранил логическую единицу. Состояние сердечника после считывания переходит в логический ноль и нужно хранившуюся там единицу перезаписать (провести восстановление данных - регенерацию). Если же он изначально был в отрицательном состоянии, ничего не происходит и в выходном проводе появится лишь слабый ток помехи. Соседние сердечники при этом не меняют своего состояния и не создают помех, что позволяет использовать большие амплитудами тока считывания, что увеличивает быстродействие устройства. Для записи логической единицы в требуемый сердечник, необходимо подать в адресный и разрядный провода импульсы токов положительной полярности. Для записи нуля ток подается только в адресный провод. Однако, поскольку непонятно что хранилось в сердечнике перед записью, его предварительно необходимо "обнулить" произведя считывание. Существуют и иные варианты выбора значений токов записи с целью увеличения быстродействия работы или уменьшения требований к одинаковости параметров самих сердечников. Основной недостаток двумерной схемы - необходимость применения большого количества однотипного электронного оборудования, по числу используемых адресов. Иногда в двумерной схеме для хранения одного бита используют не один, а два сердечника, что позволяет уменьшить помехи, увеличить надёжность записи и уменьшить число электронного оборудования.

Тип 2.5D

Занимают промежуточное место между 2D и 2.5D. Запись проходит как в 2D, а считывание как в 3D. При построении куба памяти из нескольких матриц, его организуют так, что каждая матрица хранит лишь один разряд чисел, то есть число матриц в кубе равно длине числа. При этом количество сердечников в матрице равно количеству хранимых чисел. Адресные провода проходят через все матрицы, а соседние разрядные провода в пределах каждой их матриц соединяют попарно петлями. Для выбора числа, подают ток в нужный адресный провод и все разрядные провода одной матрицы. На пересечении возбуждаются два сердечника и, в зависимости от полярности поданного тока, можно обратиться к первому или второму сердечнику. Плюсы этого способа - уменьшение длины и числа проводов при больших объёмах памяти запоминающих устройств.

Заключение

Выбор схемы организации хранения зависит, от объёма памяти запоминающего устройства и качества магнитных сердечников. Так, 2D целесообразно применять для небольшого хранимого объёма или там, где нужно обеспечить максимальную стабильность работы и скорость считывания. 3D выгодна для среднего объёма хранения, а для больших объёмов эффективно использовать 2.5D. Разные ЭВМ использовали разные схемы. Так, память ЭВМ "Днепр" была типа 2D объёмом 1.625 Кб на один модуль, при этом использовала два сердечника на бит. Память БЭСМ-6 была 3D, 24 Кб на модуль. Минск-32 так же 3D, но уже 64 Кб на модуль. ЭВМ ЕС-1050 и ЕС-1040 применяли 2.5D, объёмами 256 Кб на модуль, а военная ЦВМ 5Э26 была также 2.5D с 16 Кб на модуль.

Память на биаксах

Биакс - ферритовый сердечник особой формы с двумя взаимоперпендикулярными отверстиями разделенными перемычкой. В одно из отверстий пропускают провод записи, так же выполняющий функции провода считывания. В другое отверстие проходит провод опроса. Для записи на оба провода подают токи, формирующие два магнитных потока, которые складываются в перемычке в результирующий магнитный поток. Его направление определяется направлениями исходных потоков (которые зависят от полярности поданного тока) и позволяет различать логический ноль и единицу. Для считывания данных в провод опроса подают ток такого же направления, что было сформировано проводом записи. Это приведёт к повороту магнитного потока в перемычке и возникновению ЭДС в проводе считывания. Её знак будет различен при считывании нуля или единицы. После прекращения подачи напряжения, магнитный поток вернётся к исходному состоянию. Таким образом, для биакса не нужна регенерация данных. Считывание информации из запоминающих устройств на основе биаксов может происходить только по типу 2D, а вот запись по любому из трёх известных типов. Для биаксов характерна быстрая скорость считывания, но медленная запись. Из-за этого биаксы обычно применяли для построения долговременных запоминающих устройств предусматривающих в рабочем режиме лишь чтение информации (различные сменные кассеты или блоки памяти). Запись в них была возможна на внешнем оборудовании в полевых условиях, что выгодно отличало от трансформаторных долговременных запоминающих устройств, доступных для перепрошивки лишь на специальных стендах квалифицированных персоналом в заводских или лабораторных условиях.

Трансформаторные запоминающие устройства

Используются только для хранения и чтения информации, называются ДЗУ или ПЗУ (Долговременные/Постоянные Запоминающие Устройства). Конструктивно представляют собой печатные платы с десятками и даже сотнями небольших П-образных сердечников, рядами смонтированных в специальных гнездах. Иногда могут использоваться О, I или Ш-образные формы. Сердечники называют запоминающими трансформаторами. Мимо сердечников протянуты тонкие адресные провода (шины). Каждый провод может проходить либо внутри магнитопровода (полный виток), либо снаружи (половина витка), тем самым кодируя логическую единицу или логический ноль. Кроме этого, каждый сердечник обмотан другим отдельным проводочком для считывания данных (обмотки считывания). Ток, проходя по адресному проводу, вызывает возникновение сигналов в обмотке считывания положительной или отрицательной полярности, в зависимости от того, как именно проходит адресный провод. Мимо каждого сердечника может проходит сотни разных адресных проводков (обычно их число кратно степени двойки) и их количество равно числу хранимых в устройстве чисел. Число сердечников на одном адресном проводе указывает на разрядность хранимого числа. Для получения объёма хранимой памяти, необходимо умножить число адресных проводков на число сердечников. Кроме этого, несколько адресных проводков обычно оставляют резервными и используют для контроля работы устройства (например все разряды единицы). Сердечники могут разбиваться на группы, в каждой группе проложены свои адресные провода. Очевидно, что такие устройства могут быть перепрограммированы лишь физическим перекладыванием (перепрошивкой) адресных проводков в заводских или лабораторных условиях. Для выбора нужного адресного провода используют дешифраторы, обычно размещаемые на той же печатной плате. В ДЗУ хранят микропрограммы, константы, таблицы символов и кодов.