image

Привет, хабр!

Предлагаю вашему вниманию ретроспективу совершенно замечательной микропроцессорной лаборатории “Микролаб КР580ИК80 907”, выполненной в духе ядерного чемоданчика. Именно так выглядели одноплатные компьютеры конца эпохи холодной войны, эдакая Raspberry Pi конца 70-х годов. Всем, кто желает вместе со мной погрузиться в пучину воспоминаний или просто послушать, как старики мучились инженеры старшего поколения осваивали микропроцессорную технику, прошу под кат.

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

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

После таких тягучих разборов команд для процессора КР580ВМ80А (аналог Intel 8080А) на микропрограммном уровне, лабораторные работы стали как гром среди ясного неба! Вот тот переломный момент, который надолго изменил мои профессиональные предпочтения. Я полностью утратил интерес к радио и телевидению, и переключился на микроконтроллеры.


Лабораторные работы проводились на основе микропроцессорной лаборатории “Микролаб КР580ИК80 907”. Эта учебная ЭВМ предназначалась для изучения основ работы микропроцессорных систем и общих принципов программирования в машинных кодах, а также освоения приемов отладки встраиваемого программного обеспечения. К сожалению, в русском сегменте интернета не так много упоминаний об этом устройстве, но одну ссылочку для вас мне удалось найти.

Кому интересно, микролаборатория обладала двумя блоками ОЗУ по одному килобайту для размещения кода программ и данных. Дополнительно на панельке могла размещаться микросхема ПЗУ. Именно такая микросхема заставляет чемодан петь на видео в начале статьи, шла она в комплекте с устройством. Сам же процессор КР580ВМ80А имел 16 разрядную шину адреса и 8 разрядную шину данных, и мог работать на частотах до 2,5МГц. Конечно же выполнение команд занимало далеко не по одному такту. Но все же производительность процессора была близка к современным 8-ми битным микроконтроллерам.

image

Невооруженным глазом было понятно, что наша “микролаб” являлась аналогом американской микролаборатории «Hewlett-Packard 5036A», базировавшейся на процессоре Intel 8085. Более подробно об этом девайсе можно почитать на сайте HP. Но конечно же это стало очевидным для меня значительно позже. Оригинальная лаборатория от HP на десять лет определила нашу, ну или, точнее сказать, наша отстала на десять лет. Hewlett-Packard 5036A вышла в 70-х годах прошлого века. А наша родная “Микролаб КР580ИК80 907” примерно в 1983 году. Хорошо это или плохо? Я лично считаю, что хорошо. Ибо в образовании нет понятия плагиат, все делается на благо обучаемым. И именно благодаря тому, что в моей жизни был этот “чемоданчик”, я совершенно спокойно оперирую со всеми этими флагами и битовыми масками в микроконтроллерах.

image

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

image

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

image

Предохранители на 2А и огроменные сетевые трансформаторы предавали устройству дополнительной солидности, а кейс “дипломат”, в который оно облачено, наводили особый лоск. Несмотря на солидный вес и размеры, по тем меркам устройство вполне можно было считать мобильным.

Боковой разъем позволял подключать различные платы расширения, в том числе и самодельные.

image

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

image

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

image

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

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

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

На самом деле, я рад, что успел зацепить ту эпоху и у меня имелась возможность посмотреть на работу процессора “изнутри”. И пусть даже процессор был аналогом западного, да и сама учебная ЭВМ тоже, но важно, что это было!

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

P.S. Отдельно хотелось бы запечатлеть здесь слова благодарности моему камраду R5PM из Богородицка за предоставленные по моей просьбе фотографии и видеозапись с сохранившегося у него экземпляра. Подумать только, его экземпляр микролаборатории сохраняет работоспособность уже четвертый десяток лет.

P.P.S. На некоторых известных интернет-барахолках и сегодня можно встретить Микролаб КР580ИК80, правда в разных состояниях сохранности. И средняя стоимость может составлять до 20 тысяч рублей за рабочий экземпляр.

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


  1. RalphMirebs
    01.11.2022 06:36
    +4

    Со всем уважением, но 20000 руб это очень высокий потолок. И уж точно не средняя. На авито сейчас лежат и за 10 и за 12 тыс, но попадается и дешевле.


    1. OldFashionedEngineer Автор
      01.11.2022 06:45
      +4

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


  1. alexhott
    01.11.2022 07:06
    +6

    Хорошая штука.
    Я немного из такого хардкора в 1997 в 10кл застал - собрал светомузыку аж на 7 микросхемах, ну и спалил в процессе наладки. Оказалось, что новые к556рт4 просто так работать не будут - это ПЗУ и надо ее программировать. Развел на печатке ручную схему: 8 переключателей задавали адрес ячейки, 4 переключателя определяли что запишется. 4 светодиода позволяли посмотреть, что записано. Переключатель режима работы и переключатель собственно прожига. И тут нужно было вручную по очереди все адреса перебрать последовательно в двоичном виде. Тоже в тетрадке рисовал как должно мигать и что нужно записать.


    1. OldFashionedEngineer Автор
      01.11.2022 07:32
      +3

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


      1. progchip666
        01.11.2022 17:26
        +1

        Самое забавное было это схемы на тиристорах/симисторах. Каких трудов стоило достать КУ208 нужной буквой. Собирал ты один канал - всё работает. Собираешь три и кирдык...

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

        А с информацией в восьмидесятые годы были невероятные проблемы.


        1. DvoiNic
          01.11.2022 18:43

          ну, подарок радиолюбителю — комплект КУ202/КУ208 — был вполне достойным подарком.


          1. sim2q
            02.11.2022 02:18
            +2

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

            Там то мне и отсыпали....

            Заглянул внутрь. В глубине помещения, среди нагромождения различного техногена издали опознаваемого как имеющего отношения к электохозяйству, сидели два технаря к которым я от переполнявшими меня впечатлениями от обнаруженного обратился с мантрой, - Не могли бы они мне отсыпать что-нибудь, не нужного электрического?
            А было там очень много чего! Поэтому последовали уточнения, а в тот момент как раз видел где-то схему на тиристорах с простейшими RC фильтрами. И эти самые тиристоры КУ202 мне и отсыпали(!), но предупредили, что будет не просто из за крайне низкой чувствительности схемы. Так по итогу и получилось - от ламповой радиолы, всё это скорее всего с ошибками монтажа так и не завелось (дело было в районе 1-2 классов школы). Смелости сходить туда второй раз не хватило и хотя уже прошло столько лет, с тиристорами до сих пор не уверенно себя чувствую :(
            ps помещение реальное - глубинная насосная станция.


        1. OldFashionedEngineer Автор
          01.11.2022 18:44

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


  1. alex_kag
    01.11.2022 07:42
    +1

    Помню такие чемоданчики. Из плат расширения были платы ЦАП - точно, а вот 8 светодиодов - не помню, отдельная плата была или основная чемоданная.... ЦАП подключали к осцилографу и требовалось нарисовать фигуру... а со светодиодами - сложным читалось медленно зажечь и погасить...


    1. OldFashionedEngineer Автор
      01.11.2022 08:18
      +1

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


      1. alex_kag
        01.11.2022 08:36
        +1

        Арифметика - само собой. Но переферия - это намного "наглядней" )


        1. OldFashionedEngineer Автор
          01.11.2022 08:41
          +2

          Я радист по специальности. Считаю, что и так повезло, что хоть это было. Нас то в основном пичкали приемниками, передатчиками и антенами.


  1. Alecksey1978
    01.11.2022 08:08
    +4

    У нас в МЭИ мы использовали подобные устройства (чуть другой конструктив, но интерфейс один в один) для обучения студентов, пока не перешли на микроконтроллеры Texas Instruments в 1998 году. Очень неплохое решение для обучения основам ассемблера и машинного кода. Но устройства в то время уже плохо работали (проблемы с сохранностью монитора в ПЗУ и др.). Я даже написал симулятор такого устройства, на котором учились студенты, а сегодня даже нашёл описания лабораторок другого ВУЗа на базе этого симулятора "Emu580_prg.exe".


    1. OldFashionedEngineer Автор
      01.11.2022 08:21
      +3

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


      1. Ghost_nsk
        01.11.2022 09:00
        +1

        на процессоры массового применения вся документация есть, было бы желание эти тысячи страниц читать. Intel Architecture Software Developer’s Manual времен 486 даже в русском переводе издавалось, всякие AVR и PIC и подавно.


        1. OldFashionedEngineer Автор
          01.11.2022 09:13
          +1

          На 580 схемы были. Для AVR и PIC только программная модель.


      1. pharo
        01.11.2022 20:15
        +1

        И книги отличные печатали, в особенности издательства Мир и с красочно сделанным контентом.

        P.S. Таблицу команд и мнемоник процессора Z80 была у меня из двух томника за автором Рафикузмана.


    1. poulch
      01.11.2022 16:18
      +1

      помню-помню. был у нас один семестр по микропроцессорам на РТФ году в 92 или 93.


  1. ASergeevich
    01.11.2022 08:17
    +1

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


    1. OldFashionedEngineer Автор
      01.11.2022 08:23
      +1

      Очень полезный чемоданчик. К нему хорошая книжка была.


      1. ASergeevich
        01.11.2022 08:29
        +2

        Вот ее то как раз и не было:(


        1. OldFashionedEngineer Автор
          01.11.2022 08:32
          +1

          Сейчас все просто, можно нагуглить. 20 лет назад с поиском подобной информации были проблемы.


          1. ASergeevich
            01.11.2022 08:46
            +2

            Наверное, думаю что мне тогда просто не хватило упорства. Да и в десять лет интересы были немного проще. В любом случае спасибо Вам за статью.


            1. OldFashionedEngineer Автор
              01.11.2022 11:26
              +2

              В десять лет я в песочницу еще бегал играть после уроков.какие там вообще микропроцессоры?!


  1. YDR
    01.11.2022 08:19
    +3

    Штука достаточно популярная сейчас. Мне казалось, что на Хабре недавно что-то про нее было. Но не нашел. Нашел https://red-innovations.su/index/photos_c/kr580.html , там, говорят, прошивки есть, и видеоуроки на ютубе.

    Я в 2004-2005 должен был вести занятия на них для студентов 4 курса. Но была определенная гибкость, и новый комплект на AT89C51. Он, правда, к тому времени тоже устарел, и я заменил в комплекте микроконтроллер на ATMEGA162 (pin-2-pin совместимый, только ICP программатор потребовался), и вел занятия на нем и WinAVR+VMLab.

    Вероятно, курс потерял в осязаемости, но, надеюсь, позволил получить более практические навыки. Не знаю, многим ли студентам это пригодилось... Одному точно пригодилось. И методичку несколько раз пересылал интересующимся, им тоже пригодилось. Методичка недописана... А потом и потребность в курсе почему-то пропала.)


    1. OldFashionedEngineer Автор
      01.11.2022 08:28
      +2

      Написание методичек это бесконечный процесс.

      После кр580 я сперва на msc51 перешёл, сперва были процессоры сименс, потом АТ89. И, наверное, ближе к 2005 перешёл на AVR. PIC после msc51 осваивать смысла как-то не видел.

      Я, кстати, сам удивился, что на хабре про неё ни чего не находится.

      На счёт популярности сложно сказать. Поисковик не много информации выдаёт.


    1. Javian
      01.11.2022 08:38
      +6

      Серия статей от @dlinyj про подобный чемодан - УМК-80. Например "Ловля жуков в чемодане" https://habr.com/ru/company/ruvds/blog/652151/


      1. OldFashionedEngineer Автор
        01.11.2022 09:20
        +1

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

        Жаль, что эти статью по названию чемодана не гуглятся.


    1. alex_kag
      01.11.2022 08:39
      +1

      Новый комплект - это "такой же" чемоданчик, или что-то другое было?


    1. pharo
      01.11.2022 20:28

      Больше для интереса запускал на Atmega162 amForth (версии 5.5) пришлось, правда, немного повозиться для оживления для неё загрузчика.
      А, далее ещё и проверил работоспособность прошивки через запуск её в программе Proteus с её штатным терминалом. Узнал, что в программе Proteus не реализован функционал поддержки самопрограммирования AVR контроллеров.

      P.S. По PIC есть такая методичка Г.Р.Алпатов «Применение PIC-контроллеров в измерительной технике»
      Учебно-методическое пособие «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ


      1. YDR
        02.11.2022 12:33
        +1

        а я память М162 под завязку забил, но добился, чтобы она считывала данные с ПЗС линейки и делала преобразование Фурье на 16384 отсчета 2 раза в секунду непрерывно. (ОЗУ приделал внешнюю, из кэша от 486), в 2001 году...


  1. DvoiNic
    01.11.2022 08:39
    +2

    у нас на кафедре был такой «чемодан», стоял без дела (были более продвинутые, хотя и менее наглядные системы обучения). Но в аналогичном исполнении (только без чемодана) были стенды для секционок (на 581 или 583 серии).


    1. OldFashionedEngineer Автор
      01.11.2022 10:07
      +1

      Это какой год был?


      1. DvoiNic
        01.11.2022 12:05
        +2

        где-то 89-91. даже, скорее 90-91.
        Но к тому времени уже становилось понятно, что секционники — не мейнстрим. И курс по ним читать нам не стали (хотя планировали). Поэтому мы (ну, такая «четверка упертых») тыкались туда добровольно и самостоятельно.
        Почему вообще появилась тема с секционниками — так потому, что мы тоже «радисты», и для обработки сигналов нужно быстродействие, и предполагалось, что «классические микропроцессоры» его не обеспечат, и «спецвычислители» нужно делать «строго под задачу», со всеми вытекающими…


    1. pharo
      01.11.2022 16:22

      Ну, почему же без дела?
      У меня даже осталось интересное воспоминание по сдаче лабы на этот чемоданчик Гаку С.П :)


      1. OldFashionedEngineer Автор
        01.11.2022 16:23

        Воспоминание в студию!


        1. pharo
          01.11.2022 17:10
          +4

          Случай был такой.

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


          1. OldFashionedEngineer Автор
            01.11.2022 18:48

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


            1. pharo
              01.11.2022 18:54
              +3

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

              P.S. Особо требовалось соблюдать шрифтовые нормы в предмете начертательной геометрии.


              1. OldFashionedEngineer Автор
                01.11.2022 19:08

                У нас не прокатывало, преподы зебру под листок подкладывали.

                Оказывается, не только у меня привычка полупрописью писать)))


      1. DvoiNic
        01.11.2022 18:49

        я не помню лаб на нем. Нас же Сергей Палыч освободил от своего предмета…

        ...
        мы знакомы?
        Костя?


        1. pharo
          01.11.2022 19:01

          Вероятно, как людей обслуживающих Корвет класс и разрабатывающих ПО для их по заказам от производителя?

          P.S. А, понятно, они у нас ещё были на первом или втором курсе.
          (года разные поступления в Вуз)


          1. DvoiNic
            01.11.2022 19:04

            ну и это тоже.
            Но в основном — чтоб не мешались.


  1. sfrolov
    01.11.2022 11:04
    +2

    Хотелось бы прочитать про сравнение с иностранным аналогом кроме внешнего вида


    1. OldFashionedEngineer Автор
      01.11.2022 11:19
      +1

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


  1. dlinyj
    01.11.2022 12:22
    +3

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

    image

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


    1. Telmah
      01.11.2022 13:20
      +4

      Помню что у нас такие чемоданы в Рижском Авиационном Университете активно использовались на лабораторных работах по курсу микропроцессоров и цифровой схемотехники. был там один серьёзный "хардварный" баг - фиксаторы крышки чмодана разбалтывались со временем и при неосторожном движении крышка захлопывалась и острым краем перерубала провод питания


    1. OldFashionedEngineer Автор
      01.11.2022 14:46
      +1

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

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

      На досуге я себя вот так развлекаю https://habr.com/ru/company/timeweb/blog/694924/


      1. dlinyj
        01.11.2022 15:15

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

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


        1. OldFashionedEngineer Автор
          01.11.2022 16:26

          Вполне может быть. Ваш индекс 80 имеет. И больше похож на версию от hp. А этот толи 83, толи 87 года выпуска.


        1. OldFashionedEngineer Автор
          02.11.2022 09:31

          По версиям чемоданов столкнулся с интересным моментом. В моем чемодане установлен процессор с маркировкой КР580ВМ80. На фотографиях в интернете встречаются экземпляры с маркировкой процессора КР580ИК80, а это старая версия маркировки. Не помню точно в каком году переименовали. На вашем дипломате 6 индикаторов, это больше похоже на чемодан от HP. Но HP 5036A выпущена в 79 году на процессоре 8085, и встречаются упоминания, что это не первая их версия. В общем, достаточно запутанная история получается.


  1. dlinyj
    01.11.2022 12:28
    +3

    Но все же производительность процессора была близка к современным 8-ми битным микроконтроллерам.

    Таки нет, даже самые простенькие микроконтроллеры — это адова мощщ, в сравнении с этим процессором. Даже старички С51 работают быстрее, потому что 2,5 МГц — это тактовая частота, а каждая команда выполняется за машинный цикл, и даже самая быстрая выполняется, по моему, за 10 тактов (если спора ради, найду документацию). Соответственно «реальная» частота — это сотни килогерц. Добавим сюда отсутствие таймеров, средств ввода-вывода, окажется что штука даже проще чем контроллеры.


    1. OldFashionedEngineer Автор
      01.11.2022 16:07

      Если сравнивать микроконтроллер с кр580, это как система на кристалле. КР580 это все таки набор микросхем, где ВМ80 это чисто процессор, у него даже памяти на борту нет.

      С таксированием там вообще все сложно. Есть отдельная микросхема - тактовый генератор. Чтобы получить тактовые сигналы на 2МГц, нужен кварц на 18МГц. Команды выполняются от 3х до 5 тактов, и занимают от 1 цикла. Максимально может выполнять 625 тысяч команд в секунду, а всреднем около 500 тысяч. Не так уж и плохо?

      Процессор поддерживает примерно 65Кб памяти, это если не играться в банки. Благо спроектиррвать архитектуры вы можете сами как хотите.

      Посчитайте такты процессора для AVR, кпримеру, сколько тактов он реально выполняет условный переход. Ну или посчитайте, сколько тактов реально складываются две переменные. Порты тоже уровни меняют только на следующий такт. В итоге тоже не так все радужно, хоть и заявлено 1mips. Risc для компиляторов удобнее, с этим ни кто не спорит.

      Если проанализировать задачи, которые решают на 8-ми битных МК, из моей практики всегда хватало тактовой частоты 1МГц. Ниже не вариант, шить долго. А гонять тиньку на 20МГц я не понимаю для чего это нужно.

      Конечно современный МК компактнее и потребляет меньше. Но кр580 для своего времени был хорош. И на нем очень серьёзные вещи делали.

      Я не утверждал, что производительность равна. Но если решать реальные прикладные задачи, то Вы увидите, что не так уж оно и далеко ушло.


      1. dlinyj
        01.11.2022 17:20
        +1

        Я вижу непонимание моей компетенции. Прекрасно понимаю разницу между микропроцессором и однокристальным микроконтроллером. Главная разница состоит в архитектуре, Гарвард и Фон Нейман.

        Раз возник спор, обратимся к специальной литературе в таком случае. Обратимся к основам: Intel 8080 Assembly Language Programming Manual, то вы можете увидеть, что каждая команда выполняется от 5 до 18 тактов. В среднем 10 тактов (страница 78). Те же команды перехода, о которых вы говорите выполняются за 10 тактов. Таким образом, если в среднем каждая команда выполняется за 10 тактов, фактическая частота процессора примерно равна 250 кГц.



        Теперь обратимся к документации на популярный микроконтроллер, установленный на многих платах Arduino Atmega328p. Если вы потрудитесь открыть страницу 281, то увидите что практически все команды выполняются за 1 такт процессора!



        Редкие команды выполняются за 3 такта. С учётом того, что процессор работает на частоте 16 МГц, то это громадная разница. Давайте по справедливости сделаем, что в среднем команда выполняется за 2 такта (хотя я бы дал полтора такта). Получается 8 МГц. Итого, банальная AVR быстрее этого комплекса грубо в 32 раза!

        Я очень много программировал на ассемблере как для AVR, так и для КР580ВМ80А, вы можете ознакомится с этим в серии статей Демки для микроши: Интро, Часть 1, Часть 2, Часть 3. И знаю о чём говорю, с учётом богатства архитектуры микроконтроллера AVR сравнивать их невозможно, это как сравнивать карету запряжённую лошадьми с болидом формулы 1. И то, отличие в скорости там будет меньше.

        Но если решать реальные прикладные задачи, то Вы увидите, что не так уж оно и далеко ушло.

        Как вижу, у вас просто нет опыта решения таких задач, и поэтому такие выводы.


        1. dlinyj
          01.11.2022 17:26

          Да, я забыл главное сказать. Все команды работы с данными у i8080 осуществляются через акумулятор, таким образом можно смело делить производительность ещё на 4-5, потому что потом надо акумулятор куда-то положить, а регистров катастрофически мало. А у AVR вы можете работать с любым регистром как вам нравится, без всяких аккумуляторов и прочих бесячих подвывертов (плевался когда писал).

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


          1. pharo
            01.11.2022 19:52

            С делением на 4-5 из-за наличия аккумулятора не очень корректный вывод.
            т.к. лишь ограниченное число переменных можно разместить в регистрах и вычислительные формулы чего-либо по данным тоже потрeбует считывания/записи данных в регисты из/в памяти.

            P.S. К примеру у PIC контроллера тоже данные проходят через «один» регистр и 4-е такта на команду, но это не помешало им занять «ведущее» положение на рынке и купить Atmel.
            MISC против RISC против CISC
            Philip J. Koopman, Jr. «Стековые компьютеры, новая волна» (1989)
            MuP21
            Прагматичные процессоры (статья от 2001г)


            В отличие и от самых эффективных эмуляторов Java-машины, и от лучших JIT-компиляторов (осуществляющих трансляцию Java-кодов в коды целевой платформы в ходе загрузки задачи), аппаратные стековые машины привлекательны не только (и не столько) очень высокой производительностью, хотя их быстродействие впечатляет. Так, при потреблении в 5 раз (!) меньшей мощности они уверенно — почти в 2 раза — обходят своих далеко не самых медленных конкурентов из регистрового мира RISC: классическая стековая
            машина «выдает» на тестах CM (CaffeineMark) 1900 единиц против 1000 единиц очень удачного процессора ARM7TDMI при тактовой частоте 100 MHz (для сравнения, этот показатель соответствует уровню производительности процессора Intel Pentium 150 MHz или даже Pentium Pro 200 MHz — в зависимости от качества реализации виртуальной машины Java). При этом следует учесть, что тесты CM комплексные, и полученная оценка является интегрированной, включающей и интенсивные вычисления с плавающей точкой, которые обычно производителями стековых машин аппаратно не поддерживаются!

            Но все же главная привлекательность безадресных архитектур кроется в исключительно высоких показателях скорости переключения между задачами/потоками в многозадачных/поточных программных системах. Каноническим регистровым машинам в таких случаях надо сохранить
            текущий контекст в стеке, размещающемся в некоторой области оперативной памяти.
            Так как контекст современных процессоров достаточно объемен (обычно у них много регистров), а операции записи во внешнюю память относительно медленны, то и время переключения получается (в терминах процессора) очень продолжительным. Стековым машинам такие операции не нужны — их контекст уже хранится в стеке, поэтому переключение обычно осуществляется за один такт. Чтобы понять порядок величин, следует привести такой пример: переключение между потоками даже в весьма неплохих ОС реального времени, написанных на компилируемых языках и тщательно оптимизированных, отнимает одну-две миллисекунды процессорного времени.
            Для процессора aJ-100 и программы, написанной на Java, переключение между двумя потоками занимает строго 1 микросекунду.

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


            MISC (компьютер с минимальным набором команд, Minimal Instruction Set Computer) — архитектура для проектирования процессора, которая отличается наилучшей эффективностью и простотой в сравнении с CISC и RISC. Может содержать в себе блок RISC, обрабатывающий в себе от 10 базовых команд (+, —, /, *, if, else & etc), из которых формируются более сложные операции над значениями, методом ветвления полученных результатов в ПЗУ. С точки зрения быстродействия, время выполнения инструкции, скорость записи и передачи данных в память, сократилось бы в разы, так как не нужно было бы ожидать, пока заполнится и очистится конвейер, а выполнять всё «потоково» без задержек.

            Причиной, по которой данная архитектура не стала популярной в компьютерных технологиях – сложность написания программ под различные процессоры. Ведь все нюансы по подбору методов вычисления и оптимизаций возлагались на плечи программистов. К тому же, с повышением сложности выполняемых задач, требовалось более сложное ПО, что тормозило бы развитие микропроцессорного рынка. Поэтому, было разумнее переложить и стандартизировать процессы выполнения стандартных формул (инструкций) на плечи процессорных специализированных блоков и написать программу «дирижёр», которая управляла бы этими процессами (как в CISC).

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

            Первая вариация данного процессора под названием MuP21 (1995г)

            , имеет вычислительную способность 100 MIPS, при техпроцессе 1.2 мкм (!), энергопотребление 50 мВт. Работа процессорa на 100 мГц и количество транзисторов равно 7000 штук (!).
            Впечатляет. У Pentium 1 (60 МГц) с 3.1 млн. транзисторов, 0,8 мкм и до 15 ватт энергопотреблением, вычислительные возможности были примерно на том же уровне.


            1. dlinyj
              01.11.2022 22:52
              +1

              Сходу, что нельзя разместить в 32-х регистрах общего назначения AVR? Автор сравнивает данный процессор с AVR, давайте об этом и будем говорить.


              1. pharo
                02.11.2022 00:31

                К примеру, разместили/считали данные одной структуры, а на следующем шагe понадобились данные другой структуры и обработка данных полей.
                Разве в этом случае можно обойтись лишь работой с имеющимся количеством регистров зная что при «каждом» чихе данные придётся перегружать в них?
                А, если ещё используется, к примеру, какое то ядро представляющее функциональность ОС. (RTOS).


                1. dlinyj
                  02.11.2022 11:47
                  +1

                  При чём здесь это?

                  Я понимаю, что спор уже ради спора идёт. Но факт остаётся фактом, что даже пики в десятки раз производительнее этого комплекта. И сравнение некорректно. AVR хоть и позиционируется как RISС-процессор, но есть вполне даже CISC инструкции, например умножения.

                  Но даже если сравнить этот комплект с самым первым микроконтроллером AVR, согласно википедии: Among the first of the AVR line was the AT90S8515, which in a 40-pin DIP package has the same pinout as an 8051 microcontroller, including the external multiplexed address and data bus.

                  То всё равно, он в десятки раз более производителен! 512 SRAM + 32 регистра общего назначения, без танцев вокруг аккумулятора.

                  За сим умываю руки, не хочу принимать участие в бесполезной полемике. Вы поймите, i8080 великолепный проц для своего времени, но сравнивать старьё с «современными» контроллерами (AVR тоже старьё), некорректно.


                  1. DvoiNic
                    02.11.2022 12:24
                    +2

                    i8080 великолепный проц для своего времени

                    имхо, насчет «великолепный» — вы явно преувеличиваете (8085 и z80 были гораздо удобнее).
                    Но лидер рынка — это точно.


      1. pharo
        01.11.2022 17:37
        +2

        Да, возможностей 580 было достаточно для решения и производственных задач.
        В моей прктике сделал по работе автоматизацию места разбраковщика ткани в цеху на ткацкой фабрике (устройство с клавишами, сегментно-буквенным индикатором на 15-ть символов, датчиком метража). — 9ть приборов соединялись по RS-232 к компьютеру на 386-х процессоре и после соединения со стороны ПК периодически отдавали данные в систему для их хранения, обобщения и учёта для бухгалтерской программы.
        На ПК данные с приборов запрашивались с помощью резидентной программы.
        Тактовая 1821 (контроллер совместимый с 580, но однополярным питанием) вроде даже была где то 2.5МГц.
        Программа писалась сначала в парадигме «супер-петли», но её возможностей со временем не хватило и было принято решение её переделки на алгоритм работы реагирования на возникающие события в системе, чего вполне оказалось достаточно для решения всех задач для работы прибора.

        P.S. 500 тыс/с — это вроде при оценке команд типа пересылки регистр-регистр.


        1. dlinyj
          01.11.2022 17:40
          +4

          На безрыбье народ чего только не изобретал. Чего только стоят определители номера на Z80. Вот даже демку на нём делали.


          1. pharo
            01.11.2022 17:46
            +3

            Это не безрыбье — это 1994г. когда и зарплату предлагали получать в виде рулонов ткани, а обычная зарплата исчислялась в сотнях тысяч рублей. :)


            1. dlinyj
              01.11.2022 17:49
              +2

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

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


              1. pharo
                01.11.2022 18:01
                +2

                Это 1816ВЕ39 и 1816ВЕ48 (8051), как наиболее востребованные (их вроде, и сейчас можно купить в ЧипДип) и книга по ним?

                P.S. В книге Хвоща ещё были представлены разные МПК.


                1. dlinyj
                  01.11.2022 18:06
                  +1

                  Например эти, да. Я вот ковырялся с клавиатурой «Электроника МС 7004» то там как раз стоял микропроцессор 1816ВЕ48. На сколько я знаю, это не 8051, а MCS-48 — предыдущее поколение с внешним ПЗУ.


                  1. pharo
                    01.11.2022 18:15
                    +2

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


                    1. dlinyj
                      01.11.2022 18:17
                      +1

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


                      1. pharo
                        01.11.2022 18:28
                        +3

                        Примерно год от начала процесса до внедрения в производственный цикл. Забавно, что бухгалтерская часть учёта этих данных писалась на Турбо Бейсике 1.0, но уже не мной, кроме программы преобразования данных из протокола прибора в формат для обработки принятый в базе данных.

                        P.S. Попутно написал и программу для машины укладчика ткакни в поддоны для измерения её длины.
                        Драйвер для ПК вообще сначала писался на Турбо С, а потом уже его выхлоп стал ассемблерной программой в DOS. :)


          1. pharo
            01.11.2022 18:46
            +4

            с Z80 у меня вообще началось знакомство с ассемблером на ZX-Spectrum.
            в разработке программы ПЗУ для включения в неё и режима турбосчитывания и рускоязычной клавиатуры. Пришлось пройти несколько итераций стирания-записи ПЗУ ультрафиолетовой лампой до получения удовлeтворительного результата.
            Потом ещё подцепил полноразмерную клавиатуру задействовав все 8-мь линий порта ввода и как финал переделка программы редактора TLW для понимания ей всех появившихся клавиш.

            P.S. Дальше даже расширял уже штатный Бейсик для поддержки им функционала форматного вывода данных по аналогии с Си языком.


  1. kalapanga
    01.11.2022 13:05
    +4

    А я когда-то студентом вот на таком кнопки нажимал: https://xlat.livejournal.com/667944.html У нас без чемоданов были, но плата расширения прилагалась.

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


    1. OldFashionedEngineer Автор
      01.11.2022 14:49

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


  1. raspberry_pi_soft
    01.11.2022 14:07
    +1

    А нас учили на похожем стенде, но на микропроцессорном комплекте К1804 ( копия семейства Am2900 ). В кодах всё набирали, только каждая команда очень много бит занимала. Запомнил, что кодировка команд была гораздо логичнее, чем на К580ИК80.


    1. OldFashionedEngineer Автор
      01.11.2022 14:51

      Все равно в машинных кодах работать тот ещё аттракцион. Но я рад, что имел такой опыт. Молодеже на работе рассказываешь, так они на тебя как на динозавра смотрят!


      1. progchip666
        01.11.2022 17:31

        Работать не приходилось, но вот игрушку написал для БK001 в своё время. Забавное и нетривиальное было занятие... Особенно с учётом того, что программа на кассетном магнитофоне хранилась!


      1. DvoiNic
        01.11.2022 18:54
        +2

        в 1987 нас призвали в армию. И мы попали в стройбат. Товарищ попал крановым. Так вот, он спёр из библиотеки части журналы Радио с дампами бейсика, монитора и еще чего-то, восстановил по памяти таблицу команд 80-го всего с двумя ошибками, и долгими вечерами, сидючи на бешенном кране, вручную(!!!) дизассемблировал оные дампы, и получившееся отсылал домой письмами…


  1. Megadeth77
    01.11.2022 15:04
    +1

    О да!!! Светодиодики мигали!!!


  1. Yuvitch
    01.11.2022 16:27

    А у нас в институте подобные стенды по цветам различались, типа стенд на КР580вм80 - желтый, на КР1810вм86 - синий, на К1801вм2 - красный. Ну и лабы, типа чтобы по шине данных единичка бегала (по светодиодам), от младшего бита к старшему и обратно.


    1. OldFashionedEngineer Автор
      01.11.2022 16:28

      Такие чемоданы были, а мы на них диодики гоняли...


  1. evilrussian
    02.11.2022 10:32

    Писали код и делали лабы на таких чемоданах в 2010 году в одном из московских вузов


    1. OldFashionedEngineer Автор
      02.11.2022 10:38

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


      1. DvoiNic
        02.11.2022 11:37

        Как демонстратор устройства «эвм общего назначение на процессоре общего назначения» — это вполне нормально для учебного процесса.
        Упомянутых выше «на КР1810вм86 — синий, на К1801вм2 — красный» я не видел, возможно, и они подойдут. Т.е. работа шин А/Д, пошаговое выполнение команд, с возможностью потыкаться осциллом. Чего явно не хватает — это возможности загрузки программы извне. ну и возраст оного процессора наверняка спровоцирует отторжение у студентов.
        с другой стороны, сильно зависит от специализации — например, «чистым программистам» процесссор «в железе» нафиг не нужен, хватит эмулятора.