Привет, хабр!
Предлагаю вашему вниманию ретроспективу совершенно замечательной микропроцессорной лаборатории “Микролаб КР580ИК80 907”, выполненной в духе ядерного чемоданчика. Именно так выглядели одноплатные компьютеры конца эпохи холодной войны, эдакая Raspberry Pi конца 70-х годов. Всем, кто желает вместе со мной погрузиться в пучину воспоминаний или просто послушать, как
Как я был горд собой, когда слушал на уроках радио из самодельного карманного ФМ-приемника через высокоомный наушник от слухового аппарата. Наушник вставлялся глубоко в ухо, что не выдавало его внешним шумом и не сильно бросался в глаза из-за формы и цвета. А как радовали соседей по панельной хрущевке самодельные усилители низкой частоты, собранные по замысловатым транзисторным схемам. В дополнение к ним обязательно нужно было собрать светомузыку на лампочках, раскрашенных цветным лаком. По вечерам вместе с отцом вникал во все тяготы ремонта стареньких телевизоров и магнитофонов. И в этом прекрасном мире начинающего радиолюбителя совсем не было места для таких далеких и непостижимых электронных вычислительных машин.
Уже в техникуме с помощью калькуляторов нас пытали расчетами спектра сигналов, параметров фильтров и согласующих устройств, построением диаграмм направленности различных антенн. Все эти бублики на миллиметровке до сих пор мерещатся в кошмарных снах. И казалось, что места в моей жизни для вычислительной техники уже не останется. Но все кардинально изменилось благодаря короткому 72-х часовому курсу вычислительной техники, который практически факультативно преподавали нам на старших курсах.
После таких тягучих разборов команд для процессора КР580ВМ80А (аналог Intel 8080А) на микропрограммном уровне, лабораторные работы стали как гром среди ясного неба! Вот тот переломный момент, который надолго изменил мои профессиональные предпочтения. Я полностью утратил интерес к радио и телевидению, и переключился на микроконтроллеры.
Лабораторные работы проводились на основе микропроцессорной лаборатории “Микролаб КР580ИК80 907”. Эта учебная ЭВМ предназначалась для изучения основ работы микропроцессорных систем и общих принципов программирования в машинных кодах, а также освоения приемов отладки встраиваемого программного обеспечения. К сожалению, в русском сегменте интернета не так много упоминаний об этом устройстве, но одну ссылочку для вас мне удалось найти.
Кому интересно, микролаборатория обладала двумя блоками ОЗУ по одному килобайту для размещения кода программ и данных. Дополнительно на панельке могла размещаться микросхема ПЗУ. Именно такая микросхема заставляет чемодан петь на видео в начале статьи, шла она в комплекте с устройством. Сам же процессор КР580ВМ80А имел 16 разрядную шину адреса и 8 разрядную шину данных, и мог работать на частотах до 2,5МГц. Конечно же выполнение команд занимало далеко не по одному такту. Но все же производительность процессора была близка к современным 8-ми битным микроконтроллерам.
Невооруженным глазом было понятно, что наша “микролаб” являлась аналогом американской микролаборатории «Hewlett-Packard 5036A», базировавшейся на процессоре Intel 8085. Более подробно об этом девайсе можно почитать на сайте HP. Но конечно же это стало очевидным для меня значительно позже. Оригинальная лаборатория от HP на десять лет определила нашу, ну или, точнее сказать, наша отстала на десять лет. Hewlett-Packard 5036A вышла в 70-х годах прошлого века. А наша родная “Микролаб КР580ИК80 907” примерно в 1983 году. Хорошо это или плохо? Я лично считаю, что хорошо. Ибо в образовании нет понятия плагиат, все делается на благо обучаемым. И именно благодаря тому, что в моей жизни был этот “чемоданчик”, я совершенно спокойно оперирую со всеми этими флагами и битовыми масками в микроконтроллерах.
Примечательно только то, что устройство, по сути лабораторного стенда, было выполнено максимально наглядно. Своими глазами можно было наблюдать печатную плату и установленные на ней компоненты. А как элегантно с помощью маски и шелкографии на печатной плате была представлена структура ЭВМ. Разработчики явно подошли к задаче со знанием дела, и не только западные, но и наши, т. к. все-таки наша микролаб не была полной копией зарубежного прототипа.
Печатная плата компьютера выглядела ненамного страшнее тех, что я видел в телевизорах. А значит, в этом вполне можно было разобраться. Такая наглядность позволила четко осознать, что это вполне доступная технология.
Предохранители на 2А и огроменные сетевые трансформаторы предавали устройству дополнительной солидности, а кейс “дипломат”, в который оно облачено, наводили особый лоск. Несмотря на солидный вес и размеры, по тем меркам устройство вполне можно было считать мобильным.
Боковой разъем позволял подключать различные платы расширения, в том числе и самодельные.
Никакого компилятора в комплекте к компьютеру не поставлялось, кроме размещенной на внутренней части крышки бумажной таблицы с командами процессора. Поэтому голову приходилось подключать основательно. Программа составлялась на ассемблере карандашом в тетрадке. Затем полученную программу нужно было преобразовать в машинный код с учетом карты памяти учебной микро ЭВМ. К счастью, сейчас все это за нас делают различные линкеры и компиляторы.
Средством управления “компьютером” служит системный монитор: встроенная в ПЗУ программа, позволяющая считывать данные с клавиатуры, выводить их на дисплей, и обрабатывать вводимые команды. Замечу, что клавиатура была шестнадцатеричной. Это немного упрощало процесс работы, ведь сличать с записями в тетрадке двоичные коды было бы просто невыносимо.
Левая половина дисплея предназначалась для отображения адреса ячейки памяти. Правая – отображала содержимое этой ячейки, либо записываемые в нее данные. На светодиодах можно было видеть флаги состояния процессора. А замечательный двухпозиционный переключатель позволял переводить систему в режим автоматического или пошагового тактирования.
В автоматическом режиме можно было наблюдать за работой программы в реальном времени. В пошаговом режиме можно контролировать результат выполнения отдельных команд. На дисплее выводить содержимое регистров процессора и анализировать свою программу. Сейчас все это и даже больше позволяют выполнять различные внутрисхемные эмуляторы.
Никакой возможности записать свою программу в ПЗУ во время лабораторных работ нам не предоставлялось. И это было хорошим стимулом сдать работу прямо во время занятия, чтобы потом повторно не вбивать в память все это многообразие машинных кодов.
На самом деле, я рад, что успел зацепить ту эпоху и у меня имелась возможность посмотреть на работу процессора “изнутри”. И пусть даже процессор был аналогом западного, да и сама учебная ЭВМ тоже, но важно, что это было!
Если вам понравилась эта статья, вы можете посмотреть, во что вылилось моё увлечение ретро электроникой в одной из моих предыдущих записей.
P.S. Отдельно хотелось бы запечатлеть здесь слова благодарности моему камраду R5PM из Богородицка за предоставленные по моей просьбе фотографии и видеозапись с сохранившегося у него экземпляра. Подумать только, его экземпляр микролаборатории сохраняет работоспособность уже четвертый десяток лет.
P.P.S. На некоторых известных интернет-барахолках и сегодня можно встретить Микролаб КР580ИК80, правда в разных состояниях сохранности. И средняя стоимость может составлять до 20 тысяч рублей за рабочий экземпляр.
Комментарии (82)
alexhott
01.11.2022 07:06+6Хорошая штука.
Я немного из такого хардкора в 1997 в 10кл застал - собрал светомузыку аж на 7 микросхемах, ну и спалил в процессе наладки. Оказалось, что новые к556рт4 просто так работать не будут - это ПЗУ и надо ее программировать. Развел на печатке ручную схему: 8 переключателей задавали адрес ячейки, 4 переключателя определяли что запишется. 4 светодиода позволяли посмотреть, что записано. Переключатель режима работы и переключатель собственно прожига. И тут нужно было вручную по очереди все адреса перебрать последовательно в двоичном виде. Тоже в тетрадке рисовал как должно мигать и что нужно записать.OldFashionedEngineer Автор
01.11.2022 07:32+3Раньше светомузыка была очень популярной и считалась чуть ли не обязательным атрибутом любой акустической системы. В журналах было огромное количество схем. И ладе в китайских приемниках под сетку динамика обязательно ставили светодиоды. Но как-то эта мода улитучилась.
progchip666
01.11.2022 17:26+1Самое забавное было это схемы на тиристорах/симисторах. Каких трудов стоило достать КУ208 нужной буквой. Собирал ты один канал - всё работает. Собираешь три и кирдык...
Почему никто не писал что необходимы фильтры для подавления помех я не понимаю, вроде в солидных журналах типа Радио даже публиковали такие фейки.
А с информацией в восьмидесятые годы были невероятные проблемы.
DvoiNic
01.11.2022 18:43ну, подарок радиолюбителю — комплект КУ202/КУ208 — был вполне достойным подарком.
sim2q
02.11.2022 02:18+2В детстве гулял "на районе" и забрёл в нечем не примечательный спуск в подвал, разве что он был глубже обычного. Дальше была железная дверь, толкнул - открыто, а за ней ещё спуск и огромное помещение с дверьми по бокам. Сквозь монотонный шум, за одной из полуоткрытых дверей, отдалённо слышались голоса... Любопытство пересилило....
Там то мне и отсыпали....
Заглянул внутрь. В глубине помещения, среди нагромождения различного техногена издали опознаваемого как имеющего отношения к электохозяйству, сидели два технаря к которым я от переполнявшими меня впечатлениями от обнаруженного обратился с мантрой, - Не могли бы они мне отсыпать что-нибудь, не нужного электрического?
А было там очень много чего! Поэтому последовали уточнения, а в тот момент как раз видел где-то схему на тиристорах с простейшими RC фильтрами. И эти самые тиристоры КУ202 мне и отсыпали(!), но предупредили, что будет не просто из за крайне низкой чувствительности схемы. Так по итогу и получилось - от ламповой радиолы, всё это скорее всего с ошибками монтажа так и не завелось (дело было в районе 1-2 классов школы). Смелости сходить туда второй раз не хватило и хотя уже прошло столько лет, с тиристорами до сих пор не уверенно себя чувствую :(
ps помещение реальное - глубинная насосная станция.
OldFashionedEngineer Автор
01.11.2022 18:44У меня интернет только в начале двухтысячных появился, и то на работе. До этого только в бумаге надо было что-то искать.
alex_kag
01.11.2022 07:42+1Помню такие чемоданчики. Из плат расширения были платы ЦАП - точно, а вот 8 светодиодов - не помню, отдельная плата была или основная чемоданная.... ЦАП подключали к осцилографу и требовалось нарисовать фигуру... а со светодиодами - сложным читалось медленно зажечь и погасить...
OldFashionedEngineer Автор
01.11.2022 08:18+1Сколько времени прошло, а студентов светодиодами мучают до сих пор. У нас лабораторки короткие были и ограничивались выполнением арифметических операций и вызовов подпрограмм.
alex_kag
01.11.2022 08:36+1Арифметика - само собой. Но переферия - это намного "наглядней" )
OldFashionedEngineer Автор
01.11.2022 08:41+2Я радист по специальности. Считаю, что и так повезло, что хоть это было. Нас то в основном пичкали приемниками, передатчиками и антенами.
Alecksey1978
01.11.2022 08:08+4У нас в МЭИ мы использовали подобные устройства (чуть другой конструктив, но интерфейс один в один) для обучения студентов, пока не перешли на микроконтроллеры Texas Instruments в 1998 году. Очень неплохое решение для обучения основам ассемблера и машинного кода. Но устройства в то время уже плохо работали (проблемы с сохранностью монитора в ПЗУ и др.). Я даже написал симулятор такого устройства, на котором учились студенты, а сегодня даже нашёл описания лабораторок другого ВУЗа на базе этого симулятора "Emu580_prg.exe".
OldFashionedEngineer Автор
01.11.2022 08:21+3Под 580 можно было писать. Описание процессора было достаточно подробное. Для современных архитектура такого ни кто не покажет. Видел проект кр580 для плис, народ чуть ли не весь набор микросхем реализовал.
Ghost_nsk
01.11.2022 09:00+1на процессоры массового применения вся документация есть, было бы желание эти тысячи страниц читать. Intel Architecture Software Developer’s Manual времен 486 даже в русском переводе издавалось, всякие AVR и PIC и подавно.
OldFashionedEngineer Автор
01.11.2022 09:13+1На 580 схемы были. Для AVR и PIC только программная модель.
pharo
01.11.2022 20:15+1И книги отличные печатали, в особенности издательства Мир и с красочно сделанным контентом.
P.S. Таблицу команд и мнемоник процессора Z80 была у меня из двух томника за автором Рафикузмана.
poulch
01.11.2022 16:18+1помню-помню. был у нас один семестр по микропроцессорам на РТФ году в 92 или 93.
ASergeevich
01.11.2022 08:17+120 лет назад отец принес вот такой вот чемоданчик домой, к сожалению, он сам не особо представлял его сферу применения, как и я тогда. А оно вон как оказывается:)
OldFashionedEngineer Автор
01.11.2022 08:23+1Очень полезный чемоданчик. К нему хорошая книжка была.
ASergeevich
01.11.2022 08:29+2Вот ее то как раз и не было:(
OldFashionedEngineer Автор
01.11.2022 08:32+1Сейчас все просто, можно нагуглить. 20 лет назад с поиском подобной информации были проблемы.
ASergeevich
01.11.2022 08:46+2Наверное, думаю что мне тогда просто не хватило упорства. Да и в десять лет интересы были немного проще. В любом случае спасибо Вам за статью.
OldFashionedEngineer Автор
01.11.2022 11:26+2В десять лет я в песочницу еще бегал играть после уроков.какие там вообще микропроцессоры?!
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.
Вероятно, курс потерял в осязаемости, но, надеюсь, позволил получить более практические навыки. Не знаю, многим ли студентам это пригодилось... Одному точно пригодилось. И методичку несколько раз пересылал интересующимся, им тоже пригодилось. Методичка недописана... А потом и потребность в курсе почему-то пропала.)
OldFashionedEngineer Автор
01.11.2022 08:28+2Написание методичек это бесконечный процесс.
После кр580 я сперва на msc51 перешёл, сперва были процессоры сименс, потом АТ89. И, наверное, ближе к 2005 перешёл на AVR. PIC после msc51 осваивать смысла как-то не видел.
Я, кстати, сам удивился, что на хабре про неё ни чего не находится.
На счёт популярности сложно сказать. Поисковик не много информации выдаёт.
Javian
01.11.2022 08:38+6Серия статей от @dlinyj про подобный чемодан - УМК-80. Например "Ловля жуков в чемодане" https://habr.com/ru/company/ruvds/blog/652151/
OldFashionedEngineer Автор
01.11.2022 09:20+1Это немного разные чемоданы. Кто из них более ранней версии, сложно сказать. Но скорее умк80, судя по картинкам, у него схема более прогрессивная.
Жаль, что эти статью по названию чемодана не гуглятся.
pharo
01.11.2022 20:28Больше для интереса запускал на Atmega162 amForth (версии 5.5) пришлось, правда, немного повозиться для оживления для неё загрузчика.
А, далее ещё и проверил работоспособность прошивки через запуск её в программе Proteus с её штатным терминалом. Узнал, что в программе Proteus не реализован функционал поддержки самопрограммирования AVR контроллеров.
P.S. По PIC есть такая методичка Г.Р.Алпатов «Применение PIC-контроллеров в измерительной технике»
Учебно-методическое пособие «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТYDR
02.11.2022 12:33+1а я память М162 под завязку забил, но добился, чтобы она считывала данные с ПЗС линейки и делала преобразование Фурье на 16384 отсчета 2 раза в секунду непрерывно. (ОЗУ приделал внешнюю, из кэша от 486), в 2001 году...
DvoiNic
01.11.2022 08:39+2у нас на кафедре был такой «чемодан», стоял без дела (были более продвинутые, хотя и менее наглядные системы обучения). Но в аналогичном исполнении (только без чемодана) были стенды для секционок (на 581 или 583 серии).
OldFashionedEngineer Автор
01.11.2022 10:07+1Это какой год был?
DvoiNic
01.11.2022 12:05+2где-то 89-91. даже, скорее 90-91.
Но к тому времени уже становилось понятно, что секционники — не мейнстрим. И курс по ним читать нам не стали (хотя планировали). Поэтому мы (ну, такая «четверка упертых») тыкались туда добровольно и самостоятельно.
Почему вообще появилась тема с секционниками — так потому, что мы тоже «радисты», и для обработки сигналов нужно быстродействие, и предполагалось, что «классические микропроцессоры» его не обеспечат, и «спецвычислители» нужно делать «строго под задачу», со всеми вытекающими…
pharo
01.11.2022 16:22Ну, почему же без дела?
У меня даже осталось интересное воспоминание по сдаче лабы на этот чемоданчик Гаку С.П :)OldFashionedEngineer Автор
01.11.2022 16:23Воспоминание в студию!
pharo
01.11.2022 17:10+4Случай был такой.
После составления программы на МК ассемблерa 580 принялся за её переписывание от руки на чистовой лист бумаги A4, завершил это действие, но при проверке сделанного
выяснился маленький ньюанс, что лист бумаги, в процессе оформления кода, был перевёрнут не справо-налево, а сверху-вниз и сответственно текст на обратной стороне листа стал «вверх-тармашкой». А, что делать время потрачено много и переписывать повторно тоже самое не оказалось желания. Было принято решение идти и сдавать лабароторную работу в таком виде преподавателю с озвучиванием ему сего получившегося казуса.
На что было примерно сказано по смыслу преподователем следующее: что важнa не форма, а содержание.
В результате лабораторная работа была зачтена. :)OldFashionedEngineer Автор
01.11.2022 18:48Как вспомню отчёты от руки с основной надписью по ескд, дурно становится. И курсовые по 35 страниц, максимум одно исправление на лист допускалось. Писать можно было только полупрописным шрифтом.
pharo
01.11.2022 18:54+3Как то даже не думал о том, откуда у меня образовалась привычка иногда писать от руки полупечатным шрифтом.
Да, объём курсовых такой примерно и требовался, а бывало прокатывало их написания с двойным интервалом между строк для объёмности выходной работы.
P.S. Особо требовалось соблюдать шрифтовые нормы в предмете начертательной геометрии.OldFashionedEngineer Автор
01.11.2022 19:08У нас не прокатывало, преподы зебру под листок подкладывали.
Оказывается, не только у меня привычка полупрописью писать)))
DvoiNic
01.11.2022 18:49я не помню лаб на нем. Нас же Сергей Палыч освободил от своего предмета…
...мы знакомы?
Костя?
sfrolov
01.11.2022 11:04+2Хотелось бы прочитать про сравнение с иностранным аналогом кроме внешнего вида
OldFashionedEngineer Автор
01.11.2022 11:19+1Так по сути, кроме внешнего вида, разницы нет. Отличия кроется в элементной базе. Наш вариант адаптироваться под отечественные компоненты.
dlinyj
01.11.2022 12:22+3Очень крутой аппарат, мне он понравился тем, что вся плата и компоненты доступны разработчику, можно легко потыкать осциллоскопом не разбирая корпус. Когда воевал со своим "Волшебным чемоданом" то накрутить винтов пришлось изрядно. Вот собрат вашего.
Мне очень не хватило в вашей статье детального описания архитектуры и схемотехники, а также примеров программирования. Не думали ли сделать демку на вашем устройстве, как вот делал я ранее?Telmah
01.11.2022 13:20+4Помню что у нас такие чемоданы в Рижском Авиационном Университете активно использовались на лабораторных работах по курсу микропроцессоров и цифровой схемотехники. был там один серьёзный "хардварный" баг - фиксаторы крышки чмодана разбалтывались со временем и при неосторожном движении крышка захлопывалась и острым краем перерубала провод питания
OldFashionedEngineer Автор
01.11.2022 14:46+1Вы классно написали. Но название не очень удачное. Если бы я сразу нагуглил Ваши посты, то скорее всего свой не стал бы писать. На асм для кр580 писать не хочется, хватило мне ассемблера в свое время. У меня была цель рассказать о том, что подобные инструменты существовали, не более того. В моем тексте есть ссылка, по которой чемодан достаточно подробно описан, и есть ролики на ютубе по программированию. Но похоже, что оправдательный пост писать прийдется.
Ваш чемодан - это похоже чуть более поздняя версия, либо просто более прокаченная. У HP тоже несколько версий было. На их сайте вперемешку представлены фотографии двух явно разных устройств. У вашего схема питания более наворочена, и сама материнка по плотнее сделана. Скорее всего и блоков в ней по больше.
На досуге я себя вот так развлекаю https://habr.com/ru/company/timeweb/blog/694924/
dlinyj
01.11.2022 15:15Ваш чемодан — это похоже чуть более поздняя версия, либо просто более прокаченная.
Когда изучал тем, как я понял было несколько версий таких чемоданов. Просто нужны были учебные комплекты, вот и клепали. У вас 2 кБ ПЗУ, а у меня 1 кБ, так что возможно ваш и более поздний.OldFashionedEngineer Автор
01.11.2022 16:26Вполне может быть. Ваш индекс 80 имеет. И больше похож на версию от hp. А этот толи 83, толи 87 года выпуска.
OldFashionedEngineer Автор
02.11.2022 09:31По версиям чемоданов столкнулся с интересным моментом. В моем чемодане установлен процессор с маркировкой КР580ВМ80. На фотографиях в интернете встречаются экземпляры с маркировкой процессора КР580ИК80, а это старая версия маркировки. Не помню точно в каком году переименовали. На вашем дипломате 6 индикаторов, это больше похоже на чемодан от HP. Но HP 5036A выпущена в 79 году на процессоре 8085, и встречаются упоминания, что это не первая их версия. В общем, достаточно запутанная история получается.
dlinyj
01.11.2022 12:28+3Но все же производительность процессора была близка к современным 8-ми битным микроконтроллерам.
Таки нет, даже самые простенькие микроконтроллеры — это адова мощщ, в сравнении с этим процессором. Даже старички С51 работают быстрее, потому что 2,5 МГц — это тактовая частота, а каждая команда выполняется за машинный цикл, и даже самая быстрая выполняется, по моему, за 10 тактов (если спора ради, найду документацию). Соответственно «реальная» частота — это сотни килогерц. Добавим сюда отсутствие таймеров, средств ввода-вывода, окажется что штука даже проще чем контроллеры.OldFashionedEngineer Автор
01.11.2022 16:07Если сравнивать микроконтроллер с кр580, это как система на кристалле. КР580 это все таки набор микросхем, где ВМ80 это чисто процессор, у него даже памяти на борту нет.
С таксированием там вообще все сложно. Есть отдельная микросхема - тактовый генератор. Чтобы получить тактовые сигналы на 2МГц, нужен кварц на 18МГц. Команды выполняются от 3х до 5 тактов, и занимают от 1 цикла. Максимально может выполнять 625 тысяч команд в секунду, а всреднем около 500 тысяч. Не так уж и плохо?
Процессор поддерживает примерно 65Кб памяти, это если не играться в банки. Благо спроектиррвать архитектуры вы можете сами как хотите.
Посчитайте такты процессора для AVR, кпримеру, сколько тактов он реально выполняет условный переход. Ну или посчитайте, сколько тактов реально складываются две переменные. Порты тоже уровни меняют только на следующий такт. В итоге тоже не так все радужно, хоть и заявлено 1mips. Risc для компиляторов удобнее, с этим ни кто не спорит.
Если проанализировать задачи, которые решают на 8-ми битных МК, из моей практики всегда хватало тактовой частоты 1МГц. Ниже не вариант, шить долго. А гонять тиньку на 20МГц я не понимаю для чего это нужно.
Конечно современный МК компактнее и потребляет меньше. Но кр580 для своего времени был хорош. И на нем очень серьёзные вещи делали.
Я не утверждал, что производительность равна. Но если решать реальные прикладные задачи, то Вы увидите, что не так уж оно и далеко ушло.
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. И то, отличие в скорости там будет меньше.Но если решать реальные прикладные задачи, то Вы увидите, что не так уж оно и далеко ушло.
Как вижу, у вас просто нет опыта решения таких задач, и поэтому такие выводы.dlinyj
01.11.2022 17:26Да, я забыл главное сказать. Все команды работы с данными у i8080 осуществляются через акумулятор, таким образом можно смело делить производительность ещё на 4-5, потому что потом надо акумулятор куда-то положить, а регистров катастрофически мало. А у AVR вы можете работать с любым регистром как вам нравится, без всяких аккумуляторов и прочих бесячих подвывертов (плевался когда писал).
Сюда стоит добавить богатство периферии у контроллеров, в общем получается просто несравнимая разница.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 ватт энергопотреблением, вычислительные возможности были примерно на том же уровне.dlinyj
01.11.2022 22:52+1Сходу, что нельзя разместить в 32-х регистрах общего назначения AVR? Автор сравнивает данный процессор с AVR, давайте об этом и будем говорить.
pharo
02.11.2022 00:31К примеру, разместили/считали данные одной структуры, а на следующем шагe понадобились данные другой структуры и обработка данных полей.
Разве в этом случае можно обойтись лишь работой с имеющимся количеством регистров зная что при «каждом» чихе данные придётся перегружать в них?
А, если ещё используется, к примеру, какое то ядро представляющее функциональность ОС. (RTOS).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 тоже старьё), некорректно.DvoiNic
02.11.2022 12:24+2i8080 великолепный проц для своего времени
имхо, насчет «великолепный» — вы явно преувеличиваете (8085 и z80 были гораздо удобнее).
Но лидер рынка — это точно.
pharo
01.11.2022 17:37+2Да, возможностей 580 было достаточно для решения и производственных задач.
В моей прктике сделал по работе автоматизацию места разбраковщика ткани в цеху на ткацкой фабрике (устройство с клавишами, сегментно-буквенным индикатором на 15-ть символов, датчиком метража). — 9ть приборов соединялись по RS-232 к компьютеру на 386-х процессоре и после соединения со стороны ПК периодически отдавали данные в систему для их хранения, обобщения и учёта для бухгалтерской программы.
На ПК данные с приборов запрашивались с помощью резидентной программы.
Тактовая 1821 (контроллер совместимый с 580, но однополярным питанием) вроде даже была где то 2.5МГц.
Программа писалась сначала в парадигме «супер-петли», но её возможностей со временем не хватило и было принято решение её переделки на алгоритм работы реагирования на возникающие события в системе, чего вполне оказалось достаточно для решения всех задач для работы прибора.
P.S. 500 тыс/с — это вроде при оценке команд типа пересылки регистр-регистр.dlinyj
01.11.2022 17:40+4На безрыбье народ чего только не изобретал. Чего только стоят определители номера на Z80. Вот даже демку на нём делали.
pharo
01.11.2022 17:46+3Это не безрыбье — это 1994г. когда и зарплату предлагали получать в виде рулонов ткани, а обычная зарплата исчислялась в сотнях тысяч рублей. :)
dlinyj
01.11.2022 17:49+2когда и зарплату предлагали получать в виде рулонов ткани, а обычная зарплата исчислялась в сотнях тысяч рублей. :)
Именно безрыбье, от бедности. На тот момент уже были микроконтроллеры, но они были недоступны по ряду причин, хотя советской промышленностью выпускались и были достаточно производительны.pharo
01.11.2022 18:01+2Это 1816ВЕ39 и 1816ВЕ48 (8051), как наиболее востребованные (их вроде, и сейчас можно купить в ЧипДип) и книга по ним?
P.S. В книге Хвоща ещё были представлены разные МПК.dlinyj
01.11.2022 18:06+1Например эти, да. Я вот ковырялся с клавиатурой «Электроника МС 7004» то там как раз стоял микропроцессор 1816ВЕ48. На сколько я знаю, это не 8051, а MCS-48 — предыдущее поколение с внешним ПЗУ.
pharo
01.11.2022 18:15+2В моём случае выбора по железу не было т.к. изначально эти приборы были сделаны разработчиками на Чайковском комбинате шёлковых тканей, а моей задачей была привязка в технологическую структуру местной фабрики с разработкой большей части ПО как верхнего уровня так и программы самого прибора.
dlinyj
01.11.2022 18:17+1В любом случае, снимаю перед вами шляпу за решение этой крутой задачи. Она реально классная.
pharo
01.11.2022 18:28+3Примерно год от начала процесса до внедрения в производственный цикл. Забавно, что бухгалтерская часть учёта этих данных писалась на Турбо Бейсике 1.0, но уже не мной, кроме программы преобразования данных из протокола прибора в формат для обработки принятый в базе данных.
P.S. Попутно написал и программу для машины укладчика ткакни в поддоны для измерения её длины.
Драйвер для ПК вообще сначала писался на Турбо С, а потом уже его выхлоп стал ассемблерной программой в DOS. :)
pharo
01.11.2022 18:46+4с Z80 у меня вообще началось знакомство с ассемблером на ZX-Spectrum.
в разработке программы ПЗУ для включения в неё и режима турбосчитывания и рускоязычной клавиатуры. Пришлось пройти несколько итераций стирания-записи ПЗУ ультрафиолетовой лампой до получения удовлeтворительного результата.
Потом ещё подцепил полноразмерную клавиатуру задействовав все 8-мь линий порта ввода и как финал переделка программы редактора TLW для понимания ей всех появившихся клавиш.
P.S. Дальше даже расширял уже штатный Бейсик для поддержки им функционала форматного вывода данных по аналогии с Си языком.
kalapanga
01.11.2022 13:05+4А я когда-то студентом вот на таком кнопки нажимал: https://xlat.livejournal.com/667944.html У нас без чемоданов были, но плата расширения прилагалась.
Занятно, но не скажу, что большое удовольствие. Они не подыхали совсем, но начинали работать всё нестабильнее и нестабильнее. Набираешь набираешь эти коды, а оно раз - и сбрасывалось.
OldFashionedEngineer Автор
01.11.2022 14:49Да, была проблема с потерей памяти у этих чемоданов. Но все-же лучше, чем на бумаге учиться.
raspberry_pi_soft
01.11.2022 14:07+1А нас учили на похожем стенде, но на микропроцессорном комплекте К1804 ( копия семейства Am2900 ). В кодах всё набирали, только каждая команда очень много бит занимала. Запомнил, что кодировка команд была гораздо логичнее, чем на К580ИК80.
OldFashionedEngineer Автор
01.11.2022 14:51Все равно в машинных кодах работать тот ещё аттракцион. Но я рад, что имел такой опыт. Молодеже на работе рассказываешь, так они на тебя как на динозавра смотрят!
progchip666
01.11.2022 17:31Работать не приходилось, но вот игрушку написал для БK001 в своё время. Забавное и нетривиальное было занятие... Особенно с учётом того, что программа на кассетном магнитофоне хранилась!
DvoiNic
01.11.2022 18:54+2в 1987 нас призвали в армию. И мы попали в стройбат. Товарищ попал крановым. Так вот, он спёр из библиотеки части журналы Радио с дампами бейсика, монитора и еще чего-то, восстановил по памяти таблицу команд 80-го всего с двумя ошибками, и долгими вечерами, сидючи на бешенном кране, вручную(!!!) дизассемблировал оные дампы, и получившееся отсылал домой письмами…
Yuvitch
01.11.2022 16:27А у нас в институте подобные стенды по цветам различались, типа стенд на КР580вм80 - желтый, на КР1810вм86 - синий, на К1801вм2 - красный. Ну и лабы, типа чтобы по шине данных единичка бегала (по светодиодам), от младшего бита к старшему и обратно.
evilrussian
02.11.2022 10:32Писали код и делали лабы на таких чемоданах в 2010 году в одном из московских вузов
OldFashionedEngineer Автор
02.11.2022 10:38Я думал, их уже везде повырезали из учебного процесса.
DvoiNic
02.11.2022 11:37Как демонстратор устройства «эвм общего назначение на процессоре общего назначения» — это вполне нормально для учебного процесса.
Упомянутых выше «на КР1810вм86 — синий, на К1801вм2 — красный» я не видел, возможно, и они подойдут. Т.е. работа шин А/Д, пошаговое выполнение команд, с возможностью потыкаться осциллом. Чего явно не хватает — это возможности загрузки программы извне. ну и возраст оного процессора наверняка спровоцирует отторжение у студентов.
с другой стороны, сильно зависит от специализации — например, «чистым программистам» процесссор «в железе» нафиг не нужен, хватит эмулятора.
RalphMirebs
Со всем уважением, но 20000 руб это очень высокий потолок. И уж точно не средняя. На авито сейчас лежат и за 10 и за 12 тыс, но попадается и дешевле.
OldFashionedEngineer Автор
Мне кажется, что и 10 многовато. Хотя, может быть я плохо разбираюсь в винтажной технике. В свое время таких чемоданов было достаточно много по учебным заведениям. Как выяснилось, среди моих знакомых по стране немало на таких учились.