Эта история началась с ухода в отпуск зимой. Вы только представьте! Полярная ночь, темно хоть глаз выколи и дикий мороз. И вот сижу я такой страдалец, не зная, чем себя занять горемычного. А тут выскакивает статья, что японцы собрали однобитный компьютер на четырех микросхемах. (Naoto64). И вот то ли от безделья, то ли от тоски, или азарт меня одолел, но решил я попробовать собрать «одноплатник» с минимальным количеством микросхем. Под словом «минимальным» я подразумеваю компромисс между функционалом и лишним корпусом микросхемы. В итоге получилось при минимальной комплектации 26 микросхем. Это конечно гораздо больше, чем у Naoto64, но за то это уже 4-х битный «одноплатник». Да и микросхема ПЗУ вкуснее, чем набор переключателей. И реализовать можно очень многое в рамках этой архитектуры. Конечно, можно еще подрезать функционал и количество микросхем. Но я решил оставить так, как есть. В общем, "я художник, я так вижу!".

Одноплатник получился размерами 11х11 см. и с аппетитом в 1А.

одноплатный 4-х битный компьютер
одноплатный 4-х битный компьютер

Изначально проект задумывался без ОЗУ, чисто на одних регистрах. Но, изучая состав 155-й серии, наткнулся на ОЗУ К155РУ2. У меня этого «зверя» в наличии не было, пришлось подкупить. Микросхема представляет собой оперативное запоминающее устройство на 64 бит (16 слов х 4 разряда). А если по-простецки, то 8 байт. Всю жизнь мечтал сказать эту фразу: «8 байт хватит всем!».))) С применением этой микросхемы на горизонте замаячили возможные проблемы. Так как выходы данных имеют открытый коллектор, не совсем понятно, как это может повлиять на работу готового устройства. У меня был уже печальный опыт, когда дешифратор К155ИД10 не дружил, без подтягивающего к плюсу резистора, с входом #CS микросхемы КР537РУ17. На мою радость, эта проблема обошла стороной готовое изделие. Но и это еще не все. Выходы ОЗУ получаются инвертированными, что на начальном этапе мне не очень понравилось. А потом недостаток был превращен в достоинство. Если выход ОЗУ соединить с входом №1 исключающего ИЛИ (XOR), а четвертый бит адреса с входом №2, то на выходе получим первые 8 слов - инвертированные данные, а вторые 8 слов - не инвертированные. Пригодится для вычитания.

Таблица истинности
Таблица истинности

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

структурная схема
структурная схема

Инструкции выполняются за 3 такта.

Кроме инструкций перехода, где за 3 такта происходит переход и выполнение команды на которую перешли.

На борту имеется 8 регистров (К155ИР15):

2 адресация ПЗУ (ROM1, ROM2)

2 регистра общего пользования (R1, R2)

регистр адресации ОЗУ (ADR)

регистр буфера (BUF). Нужен для разделения шины между ядром и ПЗУ и как дополнительный регистр.

Регистр аккумулятор (А). Участвует в арифметических действиях и сравнении с содержимым ОЗУ

Выходной регистр (P1). Порт вывода информации. В изделии к нему подключены светодиоды (для индикации)

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

А также у изделия есть 4 битный входной порт (Р2).

Все это тактируется генератором, а команды считаются двумя счетчиками (К155ИЕ7)

Чтобы соблюсти Фэн-шуй пришлось использовать микросхему ПЗУ К155РЕ3 объемом 32 байта, но пусть это будет для гуру-программистов, а для начинающих программеров оставлена возможность вместо К155РЕ3 подключить 2 штуки К556РТ4, а это аж целых 256 байт!!! (но это будет уже полная комплектация и как следствие 27 корпусов микросхем)

Полный список микросхем:

К155ЛН1

1

К155ИЕ4

1

К155ЛИ1

1

К155ЛЛ1

2

К155ЛП5

2

К155ЛП8

3

К155ИЕ7

2

К155ИР15

8

К155ИД10

2

К155РУ2

1

К155КП7

1

К155ИМ3

1

К155РЕ3

или

К556РТ4

1

 

2

 

Инструкции состоят из 8 бит: первые 4 бита – куда записать, вторые 4 бита- что записать (показать содержимое регистра или число) или условие перехода или для вычитания.

Для написания программы был разработан компилятор с встроенным симулятором. В нем можно погонять программу наблюдая изменение регистров, ОЗУ и диаграмма порта. Компилятор писался максимально похожим на Assembler, но со своей спецификой. Ну я думаю, что боги Ассемблера, в комментариях, укажут мне на мои ошибки.)

компилятор с встроенным симулятором
компилятор с встроенным симулятором

Команды на языке Assembler:

Числами из ПЗУ оперируют только 3 регистра:

ROMa1, ROMa2 – адреса смещения в программе. Это числа, но для удобства в компиляторе используются символьные метки, которые при компиляции подменяются числами.

BUF – буфер через который число попадает в ядро и становится доступным регистрам и ОЗУ.

 

mov roma1, метка

mov roma2, метка

mov buf, число

Варианты команд взять из одного регистра и положить в другой:

Сумматор постоянно складывает содержимое аккумулятора (A) и ОЗУ на которую указывает регистр адреса ОЗУ (ADR)      

Команды записывают сумму аккумулятора и ОЗУ (использовать значения, расположенные по адресам 8-15) в указанный регистр:

команды сложения

Команды записывают разность аккумулятора и ОЗУ (использовать инвертированные значения расположенные по адресам 0-7) в указанный регистр:

команды вычитания

Команды переходов:

Переходы должны осуществляться на команды mov, sub или add.

Проверка работы на разных частотах показала, что на частоте кварца 4,608 МГц работает стабильно. Возможно будет и на более высоких частотах. Просто у меня нет кварца чуть-чуть скоростнее, а при 8,8 МГц. ЭВМ уже не работает.

Код для «ногодрыга»:
mov roma1, start	//указываем координаты для переходов на метку start
mov roma2, start	//указываем координаты для переходов на метку start
mov buf,1		//1 в буфер
mov r1,buf		//переносим 1 из буфера в регистр R1
mov buf,0		//0 в буфер

start:
mov p1, r1		//отправить в порт 1 (содержимое регистра r1)
mov p1,buf		//отправить в порт 0 (содержимое регистра buf)
jmp			//повторим

При частоте кварца 4,608 МГц, на выходе получается меандр с частотой 768 КГц. Как тебе такое, Илон Маск?)))

Изначально испытания проводил с использованием микросхемы flash памяти. После устранения всех ошибок в работу вступили «старички» К155РЕ3 и К556РТ4. Кстати микросхемы ПЗУ К155РЕ3 и К556РТ4 прожглись без проблем. Что меня очень сильно удивило. То ли партия хорошая попалась, то ли наговаривают на них.

Программировал простейшим ручным программатором.

программатор
программатор

Если закрыть глаза на комплекс недостатков, то Ахиллесовой пятой ЭВМки можно назвать малый объем ПЗУ. И вот я терзаюсь: может надо было убрать РОН R2 из ядра и поставить его на адресацию ПЗУ. Это дало бы возможность адресации ПЗУ до 4кб.

И отсутствие таймера, что тоже в некоторой степени осложняет написание программы.

Каждой микросхеме по конденсатору! Это не про нас.)))

 

По-моему, получился неплохой подарок для программиста. А начинающим можно пошагово изучать принцип работы ЭВМ. Проект открытый. Все исходники прилагаются. Вот такой вот «убийца Raspberry Pi» получился. Кстати назвал его «Берёста», правда без Pi.)))

немного видео:

Содержание архива:

папка КАнютаASM - компилятор (файл EXE, исходник на Python, примеры)

папка BIN - содержит коды прошивок для ПЗУ

beresta_simulation.DSN -симулятор Proteus

Симулятор немного отличается от оригинальной схемы, что никак не влияет на функционал. Выходы ОЗУ 155РУ2 (7489) дважды инвертируются. Вместо РЕ3 или РТ4 используется ПЗУ 2764. И главное, чтобы симуляция запустилась не забываем в свойствах микросхемы ПЗУ 2764 выбрать файл прошивки. Примеры прошивок лежат в папке BIN.

beresta_schematic.BMP - принципиальная схема Берёста-4

programmator.BMP - принципиальная схема программатора

берёста4.LAY6 - печатная плата (Sprint Layout)

описание БерЁста.DOCX - описание инструкций Берёста-4

Ссылка на архив Яндекс Диск

Ссылка на github

Комментарии (102)


  1. sim2q
    12.05.2024 17:02
    +3

    Очень круто!

    У меня был уже печальный опыт, когда дешифратор К155ИД10 не дружил, без подтягивающего к плюсу резистора, с входом #CS микросхемы КР537РУ17

    Ну так КМОП не хватало уровня напряжения уровня "1", а тут "токовое" управление.

    Каждой микросхеме по конденсатору! Это не про нас.)))

    но тут даже не знаю, что двигало автором :(


    1. PNP80 Автор
      12.05.2024 17:02

      но тут даже не знаю, что двигало автором :(

      не хотел увеличивать габариты платы.


      1. vesowoma
        12.05.2024 17:02
        +16

        на вполне себе промышленных платах часто просто распаивали со стороны выводов.

        и где 155ЛА3?! ;)


        1. ritsudo
          12.05.2024 17:02
          +9

          Правильно, на корпус сверху керамику жёлтую и ноги на питание..


          1. strvv
            12.05.2024 17:02
            +1

            Раньше были зеленые км-ки.


            1. Viacheslav01
              12.05.2024 17:02

              КМ-и кончились резко когда из принимать начали лет 20 назад )


            1. Wesha
              12.05.2024 17:02
              +1

              (задумчиво) Да, раньше трава конденсаторы были зеленее....


          1. iamkisly
            12.05.2024 17:02
            +11

            Если использовать кроватки, то можно располагать бусины в них. Mill-Max выпускает такие

            Конденсаторы в цифровой технике, изображение №9


        1. PNP80 Автор
          12.05.2024 17:02
          +6

          где 155ЛА3?! ;)

          Мы с ней поругались)


        1. strvv
          12.05.2024 17:02
          +7

          Поверх микросхем, по диагонали, КМ-ки. Поубивал бы уродов, выкусывающих мс и другую элементную на драгметаллы. Столько изделий поизуродовали.


          1. Ra3wum
            12.05.2024 17:02
            +1

            Причём подавляющее большинство этих КМ-ок пошло в мусор т к. только в одной категории этих конденсаторов были редкоземельные драгметаллы. А именно с ТКЕ МП0. Зря только портили оборудование мародёры.


        1. DarkWolf13
          12.05.2024 17:02

          на ней же радиоприемник собираем.


      1. AVX
        12.05.2024 17:02
        +10

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

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


        1. PNP80 Автор
          12.05.2024 17:02

          Мне показалось, что поверх корпуса не очень эстетично, но при необходимости почему бы и не повешать.


        1. goldexer
          12.05.2024 17:02
          +1

          Я бы даже сказал, что это можно перевести и в другую плоскость: сначала пусть заведут частотник на ATmega16, где на индикацию+шим с софтварным дед-таймом+коммуникацию и опрос периферии такты с прерываниями приходится чуть-ли не на пальцах считать, экономить, совмещать... и только тогда уже выдавать жирное всемогущее железо. Глядишь, аппаратура будет качественнее и софт не такой бесполезно-прожорливый, и спецы покруче из студентиков вырастут. Хотя за такой подход меня щас тапками закидают, хе-хе


          1. AVX
            12.05.2024 17:02
            +2

            К сожалению: бабки, бабки, сука, бабки!

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

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


    1. SIISII
      12.05.2024 17:02
      +4

      Насчёт 537-й серии и других на МОП-транзисторах в качестве входов всё понятно: у них логическое состояние определяется зарядом затвора, и этот заряд надо то закачивать, то откачивать -- соответственно, нужно подключать то к питанию, то к земле. С ТТЛ это не требуется, поскольку нуль -- это стекание тока на землю, а вот единица -- это отсутствие тока, поэтому и без подтягивающих резисторов может работать -- но это зависит, в частности, от требуемой частоты переключения (паразитные ёмкости никто не отменял; в ЕС-1033 для быстрого переключения её магистралей даже специальные схемы соорудили).

      Конденсаторы, опять-таки, полезны и даже, бывает, необходимы на высоких частотах и при "тощем" подводе питания, сопряжённом с большими бросками при переключении. Скажем, у процов ЕС ЭВМ на микросхемах ЭСЛ использовались многослойные платы, где и земля, и питание -- целые полигоны, и конденсаторов там было мало. А вот у СМ ЭВМ на микросхемах ТТЛ, где всё делалось на двухсторонних платах с питанием, разведённым обычными дорожками, конденсаторов было намного больше.


      1. checkpoint
        12.05.2024 17:02
        +2

        Скажем, у процов ЕС ЭВМ на микросхемах ЭСЛ использовались многослойные
        платы, где и земля, и питание -- целые полигоны, и конденсаторов там
        было мало.

        Все ТЭЗы (платы) от ЕС которые мне доводилось видеть имели шины питания в виде отдельных металлических профилей в виде уголка или пластины. Они впаивались между рядами микросхемы, а на них уже напаивалась "зелень" и её было много. Ну как в картинке в Вашей же статье:

        Типовой элемент замены от ЕС ЭВМ
        Типовой элемент замены от ЕС ЭВМ
        Типовой элемент замены от ЕС ЭВМ

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


        1. SIISII
          12.05.2024 17:02
          +1

          Это ТЭЗы типа 1 -- они применялись в процах ЕС-1020 и ЕС-1030 (насчёт ЕС-1022 и ЕС-1033 не помню, а искать вот прям сейчас лениво :) ), построенных на ТТЛ, а также во всякой ТТЛ-периферии типа перфораторов и т.п. На них были навесные шины питания, да, а на них паялись конденсаторы. На СМках, кажется, использовались уже только печатные проводники, но голову на отсечение не дам :) В любом случае, индуктивность подобных линий питания выше, чем у полноценных полигонов, как на многослойных платах, что и создаёт проблемы.

          В более мощных машинах, построенных на ЭСЛ (ЕС-1050/1052, ЕС-1035 и т.д.) применялись исключительно многослойки -- как для обеспечения нормального питания, так и чтобы импедансы выдерживать (ЭСЛ на длинных линиях это требуется). Там конденсаторов уже намного меньше, особенно с учётом в три раза большего количества микросхем на той же площади.


        1. sim2q
          12.05.2024 17:02
          +3

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

          У ТТЛ вместерождённый косяк - сквозной ток при переключении, что даёт сильные импульсные помехи по питанию.


          1. Ra3wum
            12.05.2024 17:02
            +1

            Не только ттл. У кмоп структур ровно такая история со сквозным током. И сам ток больше т.к. сопротивление затвора полевика низкое. Да и n- и p-канальнын транзисторы переключаются не мгновенно. Отсюда и "звон" по питанию, с которым борются установкой блокировочных конденсаторов и помехоподавляющих фильтров.


        1. Orion33
          12.05.2024 17:02

          Это потому, что они Борисова "Юный радиолюбитель" не читали, тот, что с ракетолампой на обложке. Мало кто воспринимает источник питания как замкнутую цепь потребителя и нагрузки. А вся цифровая техника в конечном счете все равно аналоговая с разными усилителями, пусть и с большим коэффициентом усиления, обратная связь которых настроена на устойчивую работу при определенных условиях. Если эти условия нарушаются, вероятно самовозбуждение. Наиболее важное из них - внутреннее сопротивление источника питания, входящего непосредственно в цепь ОС. При его изменении все нули и полюса поплывут вместе с ЧХ усилителей. Чтобы этого не случалось, особенно при использовании портативных гальванических элементов или аккумуляторов, ставят конденсаторы, которые призваны шунтировать источники питания по рабочей частоте. При нормальных условиях в источниках питания от сети эту функцию выполняют выходные электролиты. Но и тут есть нюанс: проводники (шины) питания образуют последовательный LC контур, который опять норовит увести ЧХ от заданной. А если еще эти электролиты подсохнут - то вообще труба.

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

          В общем, не ставить конденсаторы - это моветон. Так только домохозяйки делают)


  1. ritsudo
    12.05.2024 17:02
    +3

    Молодца! По нашим стопам идёшь


  1. goldexer
    12.05.2024 17:02
    +3

    Ух замечательно, спасибо! Хотелось бы больше всего такого! Очень интересно читать и наблюдать в реальном железе. Эх, воспоминания о легендарных 155-ках (и 500-ках), куда они только не шли в наше дество босоногое... Даже схема жучка как-то была опубликована в журнале, если не ошибаюсь, ХАКЕР, лет так 20 назад на К155ЛА3. Мы всем двором бросились на ближайший радиорынок на деньги со школьных обедов скупать микрухи и рассыпуху и по домам выклянчивали у отцов паяльник и мастеркласс по пайке. Пообъёмнее бы статейку, с любыми подробностями ))


    1. nitro80
      12.05.2024 17:02
      +1

      Шумелки делали?


      1. alexwm
        12.05.2024 17:02

        Цитата из той легендарной статьи 2002 года, после которой КА155ЛА3 стала на некоторое время хитом продаж и мечтой многих школьников =)

        Схема предназначена для целенаправленного глушения какого-либо одного телеканала. При указанных параметрах схемы вращением подстроечника можно настроить глушак на ОРТ, РТР, НТВ. Глушит любой ящик гарантированно на расстоянии до 10 метров. Если у соседа антенна типа "решетка" (или другая какая-нибудь активная антенна собственной установки), то, чтобы вывести ее из строя, достаточно спустить глушак на ниточке с верхнего этажа (крыши дома или своего балкона) так, чтобы он оказался на одном уровне с антенной. Если даже усилитель антенны выдержит, то у ящика могут сгореть входные цепи. Можно еще к центральной антенне подключить... Короче, соседям мало не покажется :)


        1. sappience
          12.05.2024 17:02
          +1

          у ящика могут сгореть входные цепи

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


          1. DvoiNic
            12.05.2024 17:02

            у телефонов частоты uplink и downlink разнесены. И 2Вт - это максимальная для GSM-900. Но "выжечь" входные цепи, особенно если антенна активная - фигвам.


            1. sappience
              12.05.2024 17:02

              Не так уж и далеко они и разнесены, для Европейского E-GSM-900 это 880.0 – 915.0 МГц и 925.0 – 960.0 МГц. Между крайними 915 и 925 МГц разница чуть более одного процента. А если телефон еще и под американский GSM-850 заточен, а таких 4-диапазонных трубок 850/900/1800/1900 было много, то даунлинк американского диапазона (869.2 – 893.8 МГц) вообще пересекается с аплинком европейского (880.0 – 915.0 МГц).


        1. kekoz
          12.05.2024 17:02

          По-моему, ЛА3 всегда была хитом продаж. По вполне понятным причинам. Когда я только вкатывался в цифровую электронику (вторая половина 70-х прошлого века), мне мой “ментор” подогнал целую гору военных ТЭЗов, по 16-20 корпусов 133-й серии на каждом, из которых абсолютное большинство были именно ЛА3.


    1. Psychosynthesis
      12.05.2024 17:02
      +1

      Хее-хее, тож собирал ту схему, даже близко не понимая как она работала.

      Те микрухи стали первыми в большой коллекции микросхем.


  1. atd
    12.05.2024 17:02
    +7

    На 155й серии очень сурово. 555 и 1533 прощают намного больше косяков, а тут настоящая классика, респект!


    1. goldexer
      12.05.2024 17:02

      Вот-вот! Продавец нам, детям тогда ещё (2003й примерно год, нам по 13-14 было), тоже говорит, берите пятисотки. Как он тогда сказал, экономичнее, современнее и надёжнее. А инфы было мало, мы переживали, чтобы завелось всё. Детали были на вес золота каждая. Сжечь светодиод в погоне за яркостью - наша классика))


  1. checkpoint
    12.05.2024 17:02
    +10

    Вижу дискретную логику - ставлю лайк. :)

    Я с детьми собрал японский TD4 CPU на 13-ти микросхемах (китайский вариант), по вечерам изучаем программирование в машинных кодах. Если еще не видели, то настоятельно рекомендую изучить этот проект. Мне понравилась идея использовать микросхемы счетчиков как регистр и как PC.


    1. SIISII
      12.05.2024 17:02
      +2

      В ЕС-1033 вовсю использовали счётчики в качестве 4-битных регистров :)


      1. checkpoint
        12.05.2024 17:02

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


        1. PNP80 Автор
          12.05.2024 17:02

          Я счётчики применял , когда vga видеокарту делал. А здесь как-то пропустил этот момент.


  1. MaFrance351
    12.05.2024 17:02
    +5

    Очень круто! Особенно компилятор и отладчик. У других подобных проектов я такого не встречал.

    Спасибо за статью.


  1. Mcublog
    12.05.2024 17:02
    +3

    Ого! Просто класс, вы большой молодец. Очень крутой проект. Стиль статьи тоже на высоте


  1. AlexMih
    12.05.2024 17:02
    +17

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

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

    Hidden text


    1. checkpoint
      12.05.2024 17:02
      +6

      Полностью поддерживаю Вашу точку зрения - в вузах такое нужно изучать обязательно, выдавать в качестве курсовой работы. Для меня тоже процессор (микропроцессор) всегда был неким волшебным устройством пока я не собрал 4-х битовый сумматор и простейший АЛУ на нём. Ну, то есть я как-бы всю теорию понимал еще со школьных лет, но вот так вот чтобы взять в руки пару десятков микросхем и получить из них простейший вычислитель... это просто кайф. А еще больший кайф когда пытаешь обьяснить работу такого устройства детям и они начинают помаленьку понимать и даже предлагать какие-то модификации, пусть бесполезные и нерабочие... :)

      В вузах эту тему сейчас повально пытаются заменить ПЛИСами и дают сразу RISC-V ядро. Вроде бы тоже полезно и нужно, но все равно это не то с чего следовало бы начать. Считаю, что к ПЛИСам стоит переходить когда уже со стандартной "логикой" наигрались и студентам видны все её недостатки.


      1. nv13
        12.05.2024 17:02
        +2

        А как эти игры в учебный план вставить? Макет с 580м осваивают одну лабу. Ввести даже короткую програмку для вывода чего то более менее интересного на светодиод, даже когда эти макеты появились 30 лет назад целый квест с зависаниями и сбросами. Как практика возни с рассыпухой это всё интересно, конечно, но для инженера она сейчас бесполезна, имхо. Если то же самое делать на симуляторе на плис, то будет гораздо больше и практики в актуальных технологиях, и объеме полученных знаний. А с рассыпухой, если придётся, на поприще потом разберутся под руководством старших товарищей)


        1. SIISII
          12.05.2024 17:02
          +2

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


          1. nv13
            12.05.2024 17:02

            А без HDL сейчас уже не принято комбинационные схемы и автоматы рисовать? Я 20 лет не сталкивался с цифровой схемотехникой, не в курсе особо


            1. SIISII
              12.05.2024 17:02
              +1

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


              1. DarkWolf13
                12.05.2024 17:02
                +2

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


          1. DvoiNic
            12.05.2024 17:02
            +1

            Если ты сам проектируешь логику на рассыпухе, мозги вскипают, но тренируются

            Категорически согласен. Но вот насколько эта тренировка потом поможет, если все равно в итоге что-то большое и реальное делают через синтез по HDL?


            1. SIISII
              12.05.2024 17:02
              +3

              Помогает писать на HDL эффективный код, хорошо понимая, во что он превращается на выходе.


              1. nv13
                12.05.2024 17:02

                С этим не поспорить. Это как знание ассемлера при разборе того ,что нафигачил на плюсах


                1. DvoiNic
                  12.05.2024 17:02

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

                  Я просто пытаюсь понять, насколько можно управлять синтезом из HDL (я баловался им достаточно давно. Настолько давно, что можно считать, что я только это слово и помню). Понятно, что оценить результат синтезирования будет проще (чем тому, кто только язык описания знает), но вот сам синтез...


                  1. checkpoint
                    12.05.2024 17:02

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

                    В мире питона и явы сейчас поголовно желающие "войти в айти".

                    Знание ассемблера делает человека инженером и открывает дорогу в противоположном направлении. И это хорошо!


                    1. Arioch
                      12.05.2024 17:02
                      +1

                      открывает дорогу в противоположном направлении

                      Эээ... Выйти из айти???


                      1. checkpoint
                        12.05.2024 17:02

                        Современное АйТи это такое болото в котором кишит всякая нелицеприятная живность. Один из способов выбраться из этой клоаки это опуститься несколькими уровнями ниже, поближе к железу или телекому.


                1. SIISII
                  12.05.2024 17:02

                  Я вот несколько дней осваивал сопрограммы (coroutines которые) на це++ на арме в кейле -- дык приходилось отлаживаться на уровне ассемблера: во-первых, понять, что там компиль генерит для поддержки всей этой фигни, а во-вторых, из-за того, что кейловскому отладчику сопрограммы начисто срывают крышу (во всяком случае, при выключенной оптимизации). Ну, оно понятно, на микроконтроллерах вообще 3/4 убеждены, что писать надо на чистых сях :)


    1. Moog_Prodigy
      12.05.2024 17:02

      Между тем уже на 155 логике можно заниматься нейросетями. Да-да, я про перцептрон, простейший из них можно реализовать хоть на реле, но на дешифраторе "электронный отгадчик" - чем не нейросеть с заранее прописанными весами? Маленькая, дискретная, но для наглядности самое то. Расшифровка почтовых индексов работала когда-то именно на этом принципе, причем не все части цифр использовались. А ведь на дешифраторах и сдвиговых регистрах каскадами можно подобные вещи на куда более сложные задачи натаскивать.


  1. Wesha
    12.05.2024 17:02
    +7

    Аж олдскулы свело. Даёшь посадку на Луну!


    1. checkpoint
      12.05.2024 17:02
      +2

      "Посадка на Луну" это такая игра для взрослых ? ;)


      1. SIISII
        12.05.2024 17:02
        +6

        дык на программируемых микрокалькуляторах советских была :)


      1. Wesha
        12.05.2024 17:02
        +6

        это такая игра для взрослых ? ;)

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

        (Только до посадки ещё сначала долететь надо, что не каждому удаётся.)


        1. checkpoint
          12.05.2024 17:02

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

          Вообще-то я имел в виду более современный вариант этой игры. ;)


        1. Suvorow
          12.05.2024 17:02

          Там нельзя было купить одну попытку, продавались десять за 27 миллиардов тогдашних долларов. В комплект входили ещё две пристрелочных. В итоге три последних попытки использованы не были, а были две пристрелочных и семь зачётных - но в одной зачётной случился дизастер. Итого шесть успешных посадок, одна неслучившаяся, три отменённых.
          Но битов у компухтера побольше было, чем четыре.


  1. shiru8bit
    12.05.2024 17:02
    +5

    Пользуясь случаем, хочу напомнить про существование проекта Gigatron TTL - целый ретрокомпьютер на 74xx, с VGA-видеовыходом и играми. Правда, лучше собирать его как минимум на 555-ой серии, а лучше на 74HC. И заодно хочу напомнить себе, что детали и платы валяются в ожидании сборки уже год, пора бы уже, а?


    1. checkpoint
      12.05.2024 17:02
      +1

      Gigatron - умопомрачительный проект. Но хочется свой, со своей архитектурой и своей системой команд. :)


  1. alekseypro
    12.05.2024 17:02
    +7

    Пора запускать DOOM ))


  1. 555www555
    12.05.2024 17:02
    +1

    Круто сделано, ностальгически, спасибо, но для целей обучения, мне кажется, было бы интересно сделать вот такую штуку: большая плата со структурной схемой компа, на каждом? элементе структурной схемы ряд светодиодов на входе и выходе, обозначающие данные. Ну и тактовая кнопка, которая пошагово запускает программу. Светодиоды наглядно показывают, что происходит с данными, как они преобразуются и все такое. Управлять светодиодами с помощью простейшей ардуинки с расширителем портов. Мне кажется, что интересная была бы штука. Мы вот выпускаем штуки попроще - двоичные часики https://www.telesys.ru/Products/CLO поэтому тема обучения нам интересна. Можно было бы как-то скооперироваться.


    1. Dovgaluk
      12.05.2024 17:02
      +3

      Мой компьютер так умеет: https://habr.com/ru/articles/750554/


      1. 555www555
        12.05.2024 17:02

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


  1. nv13
    12.05.2024 17:02
    +3

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

    Когда преподавал, к нам пришли лаб комплекты на 580м. Когда появился первый компьютерный класс на 286х, мы перевели лабораторки и курсовик на самописную среду типа турбоС под 580 ассемблер, потому что это позволило увеличить производительность работы студентов. Иначе как они на макете смогли бы реализовать задание ввод по прерыванию с использованием ПДП? На макете они просто не успевали выполнить учебный план по лабораторкам, а увеличивать часы на кнопкодавление никто не давал.

    Тем не менее, для хобби - очень круто)


    1. checkpoint
      12.05.2024 17:02
      +2

      Когда преподавал, к нам пришли лаб комплекты на 580м. Когда появился
      первый компьютерный класс на 286х, мы перевели лабораторки и курсовик на
      самописную среду типа турбоС под 580 ассемблер, потому что это позволило увеличить производительность работы студентов. Иначе как они на макете смогли бы реализовать задание ввод по прерыванию с использованием ПДП? На макете они просто не успевали выполнить учебный план по лабораторкам, а увеличивать часы на кнопкодавление никто не давал.

      Вот такими подходами мы и зарубили наше высшее образование - в погоне за эффективностью образование стало виртуальным (на симуляторах), ведь учебных часов "на давление кнопок" отодится катастрофически мало.

      Когда я учился (конец 90-х) у нас курс "микропроцессорных систем" проходил на УМК-80. Программировали и контроллер прерываний, и ПДП. И времени выделялось достаточно. А следом за нами поколение студентов уже программировало "на листочке бумаги" - назад в будущее, не иначе. А потом для направления АСОИУ электронику и микропроцессорную технику вообще отменили. Вместо этого добавили русский язык, культуру речи, экономику и право. Нафига программисту знать про устройство микропроцессора, достаточно уметь культурно выражовываться в рамках правового поля. ;)

      Учебный микропроцессорный комплект
      УМК-80
      УМК-80


      1. nv13
        12.05.2024 17:02

        Я этот курс на специальности Радиотехника проходил в 84-85. Были макеты комбинационных схем с дребезгом по первой части и макет на 580м такой же по второй. Ну и курсовик с ручной трассировкой и компиляцией программы. И всё по программированию, кроме курсовика на Фортране

        На той же специальности в начале 2х у нас потребовался/появился спецкурс про цифровую обработку на dsp и fpga. Средства разработки под них - симулятор и Quartus студенческий. До этого курс схемотехники и микропроцессоров, который по программе уже сократил схемотехнику и перешел только на микропроцессоры. И нам для изучения DSP был не нужен макет с кнопками, а нужно понимание симуляции и трассировки программ. И симуляция всяких кортиков и фильтров. И написание алгоритмов на С, потому что ассемблер это 1,5 тысячи страниц английского текста.

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


        1. checkpoint
          12.05.2024 17:02

          Дак "цифровая обработка сигналов" и "микропроцессорная техника" - два абсолютно разных курса. Первый больше про математику, а второй про железо. ЦОС на ПЛИСах это есть хорошо и правильно. И если я не ошибаюсь, то ЦОС как курс появился в учебной программе отечественных ВУЗов в середине 2000-х - с приходом мощных симуляторов и ПЛИС. Микропроцессоры на ПЛИСах тоже хорошо и правильно. Но начинать преподавать микропроцессоры нужно с проектирования каждым студентом своего вычислителя на рассыпухе и уж потом переходить к симуляторам и ПЛИС. Или так: проектирование и симуляция, сборка на рассыпухе, повтор на ПЛИСе более сложной версии.

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

          У меня был только один предмет философии, и с того нас выворачивало на изнанку, а сейчас их два! Экономика тоже была только одна, сейчас их целых три! Три курса экономики для программистов! Этика, культура речи, три курса правоведения... Накуя, Карл ? Кого мы пытаемся вырастить, инженеров или юристов-экономистов-пофигистов ?

          https://vuzopedia.ru/program/bakispec/114

          PS: А педагогика зачем инженеру ? Нам педагогику читали в аспирантуре потому, что всех аспирантов заставляли (и сейчас заставляют) преподавать, а без корочки "препод" это делать закон не велит. Аспиранты это такая дормовая рабочая сила в ВУЗах, которая работает за морковку и работу свою выполняет соответственно оплате.


          1. DvoiNic
            12.05.2024 17:02

            ЦОС как курс появился в учебной программе отечественных ВУЗов в середине 2000-х

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

            проектирования каждым студентом своего вычислителя на рассыпухе

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


          1. nv13
            12.05.2024 17:02

            Нам ВУЗ не давал доп часов на спецкурсы из за гуманитарки. Всё что получилось, это переделать старый курс ЦОС, дополнив его лабами. Когда это появилось в министерской программе, я уже не работал. Поэтому да, галопом по европам, только чтобы достичь конечной цели - чтобы выпускник имел представление об актуальных технологиях


          1. DvoiNic
            12.05.2024 17:02

            справедливости ради, "три истории" - это три части одного курса истории, "две философии" - это тоже разделенный на две части курс философии (той же МЛФ). Правоведенье и право интеллектуальной собственности - тоже по сути один курс, но без общих правовых принципов ("правоведенье") курс "право интеллектуальной собственности" (а для инженеров в современном мире он весьма полезен) будет "висеть в воздухе". "три курса экономики" - так из трех (Экономика и управление информатизацией предприятий и организаций, Экономика и управление на предприятии, и Экономика) первые две - это прямо предметная область АСОиУ, а третья, общая, нужна для того, чтобы инженер понимал как устроен окружающий мир с экономической точки зрения (типа, почему нельзя осчастливить всех, напечатав каждому по 100500 денег. Или к чему ведет вливание денег в оборонку. Чтобы знать общепринятые определения, и не давать общепринятым экономическим терминам свои толкования, как например, в теме https://habr.com/ru/articles/785274/ чел "альтернативно" понимал, например, понятие "дефицита")

            вот "русский язык и культура речи" в ВУЗе лишняя - тут, имхо, и нужен входной фильтр в виде этого самого ЕГЭ. Хотя с другой стороны, даже в российском ВУЗе, с преподаванием на русском языке, учиться могут совершенно не русскоязычные. Но, на мой взгляд, это их проблемы.

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


            1. checkpoint
              12.05.2024 17:02
              +1

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

              Гуманитарка сейчас занимает около 40% учебных часов. В моё время это было не более 10%. Все эти три экономики это отдельные курсы. У нас экономика была два семестра на 5-м курсе, чтобы диплом правильно подготовить (там был раздел экономической эффективности разработки). Сейчас же экономику читают три года подряд. Право и философия - нафиг не нужны. Русский язык я бы оставил, на первом курсе, как раз для гостей из ближнего зарубежья. Все остальное - убрать и перераспределить часы на практические занятия.

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


              1. DvoiNic
                12.05.2024 17:02

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

                Стойкое отвращение у меня тоже вызывала. Особенно марксистско-ленинский цикл (история кпсс - МЛФ - политэкономия - научный коммунизм), который, кстати, суммарно занимал на первых четырех курсах практически день в неделю (три пары в неделю), т.е. около 20%. А ведь еще были "экология", еще какая-то подобная муть, экономика 3 семестра, и "безопасность жизнедеятельности".

                Гуманитарка сейчас занимает около 40% учебных часов. В моё время это было не более 10%.

                Сын закончил магистратуру в прошлом году - говорит, процентов 20. Т.е.не сильно изменилось.

                У нас экономика была два семестра на 5-м курсе, чтобы диплом правильно подготовить

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

                за более чем 25 лет работы мне эта гуманитарщина не пригодилась абсолютно никак.

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

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

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

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

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


          1. salnicoff
            12.05.2024 17:02

            У меня был только один предмет философии, и с того нас выворачивало на изнанку

            Сейчас обязали ввести курсы типа «патриотизм», «борьба с коррупцией» и т. п. Для всех специальностей.


            1. checkpoint
              12.05.2024 17:02

              Красота! Так победим!


              1. SIISII
                12.05.2024 17:02

                Предлагаю просто расстрелять всех :) Был бы человек -- а статья найдётся, как известно, так чего мелочиться?


      1. Mih-mih
        12.05.2024 17:02

        УМК-80

        Страхобоище, извините. Даже сейчас эти гробы без содрогания не вспомнить.


  1. datacompboy
    12.05.2024 17:02

    Кроме инструкций перехода, где за 3 такта происходит переход и выполнение команды на которую перешли.

    а если переход на другую команду перехода, это как работает?! O_O


    1. strvv
      12.05.2024 17:02

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

      Правда, мне за это прилетело на 4 курсе, чуть не вылетел с ФизФака.
      У зав. кафедрой СтатРадиофизики, сдал, свободные вопросы, он и говорит - а у тебя есть замечания... я и резанул - что если этот постулат у Вас не будет верным, вся ваша статрадиофизика будет пшиком.. Только перед экзаменационной комиссией в деканате он своему аспиранту сказал - поставь ему тройку и я его не видел.
      А потом он был председателем дипломной комиссии. Я с ним сцепился языком, потом хлопнул дверью и ушёл. В итоге все 3 кафедры преподавательского состава просили не создавать конфликт, а зачесть диплом. Отличный мужик был, но память у него была хорошей, и через 10 лет как на улице пересекался - он на другую сторону переходил.


      1. datacompboy
        12.05.2024 17:02
        +1

        Я не троллю, мне интересно знать, как это будет работать. По описанию в тексте не понял сходу.


        1. PNP80 Автор
          12.05.2024 17:02

          Если в двух словах, то как-то так: 1 такт (фронт) счетчик встает на инструкцию перехода (происходит приготовления для перехода). 2 такт (фронт)  выполняется переход на указанную инструкцию по координатам регистров ROMa1 и ROMa2. Начинается выполнение первой части инструкции: показать регистр источник. 3 такт (фронт) выполнение второй части инструкции: сохранить то, что на шине в регистр приемник.Можете в симуляции Proteus погонять программки, там более наглядно будет.


    1. Psychosynthesis
      12.05.2024 17:02

      Тож не понял как.

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


      1. PNP80 Автор
        12.05.2024 17:02

        Нет, в ROMa1 и ROMa2 необходимо заранее загрузить координаты перехода.


        1. datacompboy
          12.05.2024 17:02

          Кажется, дошло! любой мув в ROMa1 грузит верхнюю половину (4бита), мув в ROMa2 грузит нижнюю половину адреса (4бита) или наобормот.

          Соответственно, "самая быстрая чехарда" возможна только в варианте

            mov roma1, a0
            mov roma2, a0
            jmp
          a0:
            mov roma2, a1
            jmp
          a1:
            mov roma2, a2
            jmp
          a2:
            jmp
          

          Верно?

          А случай

            mov roma1, a0
            mov roma2, a0
          a0:
            jmp
          

          не очень интересен, так как это бесконечный цикл палюбому.


          1. PNP80 Автор
            12.05.2024 17:02

            да, только с маленькой переделкой. (добавил строку 11 и roma2 поменял с roma1) Переходы должны осуществляться на команды mov, sub или add.

              mov roma2, a0
              mov roma1, a0
              jmp
            a0:
              mov roma1, a1
              jmp
            a1:
              mov roma1, a2
              jmp
            a2:
              mov roma1, a2
              jmp

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


            1. datacompboy
              12.05.2024 17:02

              А что будет если jmp на jmp? Например, jne на je?


              1. PNP80 Автор
                12.05.2024 17:02

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


                1. SIISII
                  12.05.2024 17:02

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


  1. dlinyj
    12.05.2024 17:02
    +3

    Очень хабратортная статья, спасибо!


    1. PNP80 Автор
      12.05.2024 17:02
      +1

      пожалуйста)


  1. 1CHer
    12.05.2024 17:02
    +3

    Респект, уважение и 4 * 4,608 МГц стаканов чая этому господину!


  1. DungeonLords
    12.05.2024 17:02

    Предлагаю сменить лицензию с Unlicense license на Apache-2.0 license.


    1. PNP80 Автор
      12.05.2024 17:02

      хорошо


  1. Ra3wum
    12.05.2024 17:02
    +2

    Олдскулы свело) Ждём аналогичный девайс на микросхемах 172 серии с питанием от +27 В. У самого где-то лежит самодельный делитель для частотомера на 293 и 500 серии отечественных микросхем на 300 МГц. В отличие от 155 и аналогичных серий, эсл чипы до сих пор довольно неплохи.


  1. salnicoff
    12.05.2024 17:02

    Круто! А дальше — полноценная копия 4004?

    P.S.: А сколько человеко·часов у Вас ушло на этот проект?


    1. PNP80 Автор
      12.05.2024 17:02
      +1

      Сложно сказать: Я занимался им дней 5 плотно (пока в отпуске был), а дальше от случая к случаю. Уже и не посчитаешь. Пусть будет недели две-три.


      1. salnicoff
        12.05.2024 17:02
        +1

        Снимаю шляпу! :-)


  1. DungeonLords
    12.05.2024 17:02

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


  1. VitalyNasennik
    12.05.2024 17:02

    А между прочим, для подобных процессоров на рассыпухе в наш просвещённый XXI век вполне имеется очень даже практическое применение. И не как дидактический материал для будущих разработчиков процессоров, а именно как законченное решение. Это всякое разное милитари и прочий радиационно-стойкий аэроспейс. Во-первых, гарантированное отсутствие "закладок". Во-вторых, наплевать на санкции - комплектуху для таких изделий мы даже сейчас можем производить на имеющихся мощностях. Ну да, в ночной прицел такой процессор, разумеется, не вставишь, но помимо этого есть ещё уйма задач, которые некритичны к массо-габаритным показателям.

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

    На рассыпухе 1533 вполне можно достичь тактовой частоты 20-50 МГц. Не так уж и мало.

    Или вот ещё проблема. Как-то раз был у нас заказчик. Надо было ему изделие для применения на необъятных просторах нашей Родины, конкретно, УХЛ1 по ГОСТ 15150-69, а это от -70 градусов по Цельсию (таблица 3 ГОСТ 15150-69). Оказалось, прямо вот проблема! Индастриал или автомобильное исполнение - это всего лишь от -40 градусов.