Pull to refresh

Comments 54

Интересная статья! Теория, подкрепляемая практическим применением, включая программирование. Для начинающих отнюдь не лишне

Чтобы импульсы генерировать можно выводы OE (13) 595 использовать. Управлял так семисегментными индикаторами шимом яркость менял.

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

При OE с высоким уровнем выводы QA-QH переходят в третье состояние так что на выводе регистра на котором выбрали единицу появится частота OE. На выводах на которых нули ни чего не изменится. Выставляем требуемый адрес и генерируем частоту на OE.

Действительно, стоило поискать про шим на 74595, и понял. Оказывается, все просто. Спасибо за наводку.

...когда понадобилось вместить некоторый объем данных в минимально возможное для технологий того времени пространство

Что-то мне кажется, что нафигачить перемычек - хоть на плате травлением, хоть проволочных в отверстия - будет куда компактнее (и проще), чем мотать и устанавливать кольца. Даже для технологии 70-х годов.

Просто перемычки не получиться, нужно кучу диодов ставить чтобы не было замыканий. Итого получаем масочное ПЗУ.

А недорогие диоды из германия появились 1950-х годах и думаю. были не очень надёжные.

Вот кстати хорошая статья про историю появления советских диодов https://www.computer-museum.ru/articles/histekb/3864/

Помнится делал такое пзу команд на диодах для инжекционного микроконтроллера серии К584 году эдак в 78-м.

Технология значительно старше, и к 70м уже была устаревшей. Кстати, ничего особо там не "мотали", при этом имея вполне компактные устройства.

Да Вы только посмотрите на эту красоту!

Это ОЗУ. Его можно программно записать и прочитать. В этой же статье предлагается «программировать» ПЗУ механическим способом — продеванием (или не продеванием) провода сквозь колечки.

Совершенно верно, не отрицаю, в статье о ПЗУ, на фото с "красотой" ОЗУ, но согласитесь, красота же :) В постоянной памяти на ферритовых кольцах проводов побольше и другая эстетика из-за этого, но компактность аналогичная, точнее даже наоборот - удельная ёмкость ПЗУ получалась выше ёмкости ОЗУ при аналогичном объёме устройства.

Да, соглашусь. Озушка и правда красивая. А вот пзушка — ну не особо:

Это фотка ROM из бортового компьютера Apollo (взята отсюда).

Эту фотку уже даже в интернете буквально затерли грязными пальцами до дыр, и на ней действительно не самый лучший образчик. Вот, например, товарищ выкладывал на хабре уже статейку про наши ДЗУ, тут есть что посмотреть: https://habr.com/ru/company/ruvds/blog/648483/

Это ферритовое ОЗУ.

Возможно автор напишет вторую часть статьи с построениеммподобного озу

Конечно. У меня есть схема матрицы управляемой ардуино, но, там ряд проблем решить надо. И, в идеале, на STM32 какой-нибудь перенести, а то, ардуино - это несерьезно.

Как разберусь, напишу статью.

Забавно. Ардуино, значит, несерьёзно, а ферритовая память это серьёзно-серьёзно? :) Тем не менее, лично я точно буду ждать с нетерпением.

Да это конфликт идей. С одной стороны хочется сделать что-то, дабы любой школьник разобрался и мог повторить, с другой стороны, ардуина - это совсем несерьезно. Я бы мог, например, выпендриться и на ПЛИСине накидать что-то, но, это только усложнит подход и увеличит порог вхождения. Контроллеры на stm32 - это золотая середина, как мне кажется, и вообще полезно для общего развития тех же школьников. Нельзя застревать на одной технологии (нужно выбирать железо и среду под задачу, бла бла бла), и т.п.

То же об этом задумывался. Копаясь в статьях, понял лишь, что исходя из каких-то технических проблем вычислительной техники того времени, которые не существуют в наше время, такой способ хранения оказался наиболее подходящим. И программировать и поправить такой блок данных проще, так как один провод проще перевязать, чем перемычки перетыкать. Вязанием подобной памяти можно было озадачить персонал, не имеющий проблем с однообразной рутинной работой и с хорошей точностью движений, потому, этим чаще занимались женщины (Его даже называли из-за этого Woman Only Memory, или Old Lady Memory).

Колечки были очень маленькие и перевязать их было сильно не проще чем сейчас перепаять 0402 smd компоненты по одному на бит.

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

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

Вытащить несложно. Я пробовал.

Не вязать, а шить. Кривой иголкой из толстой медной проволоки. Откуда, как вы думаете пошли термины, "(пере)прошить" ROM?

Вы не представляете размер тех ПЗУ. С одной стороны нижние 64 разряда, с другой верхние. Итого 4096 проводов в лаковой изолыции. Жгут толщиной с запястье. Размер платы - полметра на метр. Я про МИР-1 и МИР-2.

Отличная возможность физически прикоснуться к основам работы вычислительных устройств. У меня где-то лежит щепотка ферритовых колечек диаметром около миллиметра от "той самой памяти". Реально ли использовать именно их в подобной схеме?

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

самое наверное интересное это то что этот тип памяти наверное самый вечный, ему не грозит утечка современных флэшей, он не боится статики как электроперезаписываемые или УФ как соотвествующие пзу, если система не под напругой то ей по идее пофиг даже на ЭМИ от ядреного взрыва,

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

Главное, чтоб какой-нибудь злодей мощным магнитом не провёл по кольцам.

Здесь информация хранится не в намагниченности колец, а в физическом расположении проводов, так что от магнита ничего не будет. Разве что намагнитить кольцо до насыщения, так, чтобы оно перестало работать как трансформатор? Но с ферритом, мне кажется, такой фокус не пройдёт.

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

У моего тестя был такой. Я же себе, несколько позднее, купил уже с твердотельным статическим ОЗУ (с подпиткой от батарейки, но, как показала практика, за два месяца без батарейки ни одного номера аппарат не забыл).

Пропустим через кольца проводник, помеченный адресом 0. Поскольку каждое кольцо будет опознавать свой бит, то, через кольца с номером бита, который должен быть установлен в 0, мы просто не будем наш проводник пропускать.
Не понял, если делать так, зачем вообще ферритовые кольца? Можно просто сразу от провода 0 делать ответвления, которые будут единицей? Смысла нет ни в кондере тогда, ни вообще в чем-то кроме матрицы проводников — на ней, как на перфокарте, и будет записаны данные.

Ну или я не понял, как это работает.

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

Ответ тот тоже не понятен — зачем нужны диоды?

Предположим, нам надо считать 8 бит — нужные биты в 1 идут к шине VCC, 0 — к шине GND, итого — два управляющих провода для 1 байта.

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

Это если переключать надо, но и для ферритовых колец в этом случае 0 провод нужно будет как-то коммутировать. А если переключать не надо — то в этом случае вообще кроме матриц проводников ничего не надо.

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

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

Ну… как-бы ведь реально были такие ОЗУ (не ПЗУ), я в руках держал такие платы.

ПЗУ такого типа я не встречал и принцип работы его не знал и не знаю. Прочитав вашу пусть даже академическую статью — я также этого и не понял. Т.е. зачем городить все это, если то, что описано куда проще реализуется простыми перемычками на плате.

Я без каких-либо наездов — я реально не понял, что дают ферритовые кольца? Перешить их нельзя, только перепаивать — чем это лучше перемычек?

Вот ОЗУ на ферритах я знаю как работает — там кондер как раз и обеспечивает сохранность информации на определенное, конечное время (время разряда кондера), и за это время можно и считать информацию и успеть приложить напряжение, чтобы ОЗУ продолжало помнить данные (время разряда < времени обновления).

Предположим нам нужно 1000 слов памяти на загрузчик.

если используем очень тонкие провода , впихнем его в 10 колечек.

Если на перемычках с диодами, получим такую стену, размером с холодильник ... а у нас космос.

С матрицей проводников не прокатит.

Пример без диодов с перемычками при чтении адреса ЛА0 на адресной линии нулевой потенциал. На линиях ЛА1, ЛА2, ЛА3 единичка (пусть условно 5 вольт). В итоге линии помеченные КЗ (находятся в состоянии короткого замыкания) D2, D3, D5 и D7. Так что без диодов ни куда.

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

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

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

Не поможет. Посмотрите на схему чуть выше в комментах. Там, например, на линии D2 все единицы и таким образом ЛА0-3 закорочены.

зачем нужны диоды?

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

Все, вот сейчас понял, про что, спасибо.

В таком случае, шину питаем всегда, как и землю, но перед дешифратором ставим реле на 8 контактов, при включении которое соединяет наши 8 бит с нужным байтом перемычек? Точно также остаётся 1 адресный провод, управляющий этим реле.

А токоограничительный резистор на адресной линии не нужен?

Вообще, нужен, но, и так сойдет

А потом можно будет сделать троичные элементы памяти, как в Сетуни.

C'est magnifique!


Только на схеме надо исправить название с 27HC595 на 74HC595.


И, до кучи, статьи RalphMirebs.

А чего не дешифратор сразу?

А нужно было максимально просто. Я позже буду красивую плату проектировать, увеличу количество адресов дешифраторами и выложу потом на оборзение всеобщее. Хочу что-то вроде такого слепить, только для хранения большей информации: https://wes.am/linobyte/

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

Автор далёк от электроники со своими решениями. Вообще статья выглядит фальсификацией. Сдвиговые регистры сгорят при первом же включении с такой нагрузкой.

Похоже, электроника так же и не твоя лучшая сторона, или ты погряз в теории среди элементов с нулевым сопротивлением. Я даже не буду указывать, где и почему ты ошибаешься. Попробуй хоть эмпирический путь, что ли. Самостоятельно понятный механизм, как правило, приносит больше удовольствия.
Only those users with full accounts are able to leave comments. Log in, please.