Поиск качественной литературы по мк. КР580ВМ80А

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 544
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Just_Fluffy »

Zikon, главное, потом это все прикрутить к 580ВМ80А

Кстати, тут пришла мысля, сейчас почти любую периферию для ВМ80 можно сэмулировать на тех же АТМЕГАх... ГФ24 вообще на 2313 тиньке можно заделать.
Белая и Пушистая
Реклама
Adrift
Вымогатель припоя
Сообщения: 552
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Adrift »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4683931#p4683931"]сейчас почти любую периферию для ВМ80 можно сэмулировать на тех же АТМЕГАх...[/uquote]
Уже и сами процы давно эмулируют, z80 на STM32F4, например, можно вместо оригинала втыкать.
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1401
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение OKF »

Да и тот же 8080 люди на AVR эмулируют.) А вот периферия может и не успеть.
Adrift
Вымогатель припоя
Сообщения: 552
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Adrift »

[uquote="OKF",url="/forum/viewtopic.php?p=4683951#p4683951"]Да и тот же 8080 люди на AVR эмулируют.)[/uquote]
Не видел, но z80 на AVR , который в спектруме из нескольких AVR, полностью на ассме, до оригинала по скорости не дотягивает, а так чтоб еще успевал ножками дрыгать и читать все вовремя... Точно не на скорости оригинала ) Так то на AVR и ARM эмулируют и линукс потом запускают )
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 544
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Just_Fluffy »

не, что старые процы эмулируют - я знаю.
Я к тому, что вдруг кто то хочет именно ВМ80 запустить... А периферию для него искать сложно. Так ее можно сэмулить.
А так-то понятно, что можно замутить STM32ВМ80А - и оно даже работать будет.
Белая и Пушистая
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1401
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение OKF »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4683965#p4683965"]Я к тому, что вдруг кто то хочет именно ВМ80 запустить... А периферию для него искать сложно. Так ее можно сэмулить.[/uquote]
Тогда уж лучше 8085 или z80 - одно питание всё же. А периферия делается на Ардуино. Там и UART (2 mb/s!), и RTC, и ЕЕПРОМ, и SD, и всё что хош.)
Реклама
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4683965#p4683965"]А периферию для него искать сложно. Так ее можно сэмулить.[/uquote]Какую именно периферию "эмулить"? Какой-нить КР580ВИ53? На AVR вы его не сможете сэмулить - просто не хватит ресурсов. Разве что на довольно мощном ARM.
Чтобы понимать о чём речь - советую просто запустить эмулятор какого-нить древнего компа (на КР580) на своём ПК и посмотреть на загрузку CPU во время эмуляции. А потом умножить на разницу производительности вашего i7 к производительности AVR. 8)

Писал эмулятор "Вектор-06Ц" (КР580ВМ80 + 2*КР580ВВ55А + КР580ВИ53 + видеоконтроллер + etc) на ПК. Так вот - эмуляция выполнения кода (команд ВМ80) - это самое простое и малотребовательное к ресурсам хост-системы. А больше всего ресурсов занимает эмуляция всей параллельно работающей периферии (каналы ВИ53, ВВ55А, видеоконтроллер, ...). Именно - точная потактовая эмуляция (а не кое-какерская).
И маппирование её на периферию хост-системы.
Проще говоря - если частота тактирования ВИ53 ==1.5МГц, то для программной эмуляции 3-х его каналов, потребуется на хост-процессоре крутить цикл с частотой 1.5МГц. И внутри каждого прохода цикла успевать обслуживать все 3 канала таймера (просчитывать изменение внутренних счётчиков, вычислять состояние выхода на каждом такте и реакцию на все операции чтения/записей регистров ВИ53).
Имеется ещё 2шт. ВВ55А тактируемых от тех же 1.5МГц и к которым подключены внешние сигналы? Ок - тогда нужно ещё и все каналы каждого ВВ55А пробежать в том же цикле. 8)
Если имеется ещё какая-то периферия - тоже всю эту периферию нужно успевать обслуживать в этом цикле.
Это не считая того, что в это же время нужно ещё и исполнение кода ВМ80 успевать эмулировать.
Это в худшем случае - для полной эмуляции.
Ещё нужно с точностью до такта эмулируемой системы отслеживать моменты операций чтения/записи регистров этих самых ВИ53/ВВ55 - это синхронизация работы периферии с ходом эмуляции команд ВМ80 гостевой программы.

Сможете на AVR крутить довольно объёмистый цикл (3 канала ВИ53 + 6 портов 2-х ВВ55А + видеоконтроллер + ...) с такой частотой? Да без просадок (задержек)?
Имхо - тут не каждый ARM потянет. И писать придётся довольно оптимально. Без калокуберства.
Если же просто эмулировать выполнение команд ВМ80, то тут и самого дохлого AVR за глаза хватит.

PS: Это к сведению тех, кто просто фантазирует, и сам никогда не пробовал....
Adrift
Вымогатель припоя
Сообщения: 552
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Adrift »

[uquote="jcxz",url="/forum/viewtopic.php?p=4684393#p4684393"]Имхо - тут не каждый ARM потянет. И писать нужно довольно оптимально.[/uquote]
C точностью до такта ВИ53 скорее не каждый, а мало какой ARM сможет эмулировать, потому что это придется не через ногодрыг делать, нужна соответствующая периферия. Тот же Picо неплохо подходит. Если достаточно примерной эмуляции, то на AVR есть эмуль AY8912, он не проще ВИ53.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="Adrift",url="/forum/viewtopic.php?p=4684401#p4684401"]C точностью до такта ВИ53 скорее не каждый, а мало какой ARM сможет эмулировать, потому что это придется не через ногодрыг делать, нужна соответствующая периферия.[/uquote]Я писал о программной эмуляции ВИ53. Чисто программными средствами: все счётчики ВИ53 во всех его режимах эмулировать программно. Конечно, если в каком-то ARM есть некие периферийные блоки (таймеры) работающие очень похоже на счётчики ВИ53 - тогда может быть проще на них. Но в каких МК есть такие таймеры? Я таких не видел.
Но даже если такие аппаратные таймеры в каком-то МК есть, то как выполнять синхронизацию их работы с ходом выполнения эмулируемой программы? Если они будут работать параллельно с работой основного CPU, то это его разгрузит от их обслуживания, но создаст проблемы с синхронизацией.

[uquote="Adrift",url="/forum/viewtopic.php?p=4684401#p4684401"]Тот же Picо неплохо подходит. Если достаточно примерной эмуляции, то на AVR есть эмуль AY8912, он не проще ВИ53.[/uquote]Если примерную эмуляцию делать - это другое. Тут вполне возможно хватит. Всё зависит от требуемой величины "примерности".
Но при примерной эмуляции не факт, что захотят корректно работать все программы, которые работали на родной системе. Достаточно небольшого отличия.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 544
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Just_Fluffy »

А кто сказал, что на одной АВР надо эмулить всё?
ВИ53 - одна АВРка, ВВ55 - другая. Но там нужна развесистая АВР, там много GPIO.
Белая и Пушистая
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4684413#p4684413"]ВИ53 - одна АВРка, ВВ55 - другая. Но там нужна развесистая АВР, там много GPIO.[/uquote]Тогда возникнут проблемы с синхронизацией всего этого. Чтобы выполнить точную эмуляцию.
Проще не куча AVR, а один мощный ARM. И внутри - программная эмуляция всей периферии.
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6668
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение AlexS4 »

а мощный то зачем? ;)
вв55 это 3 регистра защелки и 3 z-буфера c демультиплексором для управления.
в спектруме вообще вся периферия на логической рассыпухе (ну кроме флопидиска)

производительность даже avr @ 20MHz на порядок выше чем z80 @ 4MHz, думаю если сделать маленький шажек в подходах при программировании к тем забытым временам не должно быть проблем ;) . но провернуть фарш из мясорубки обратно - довольно трудно :dont_know: только очень увлеченный человек может заняться подобным когда есть простые пути :tea:


еще было множество аппаратных эмуляторов процессоров и периферии на plm/fpga
напр под конец эпохи спектрума всю логику dram+видео и io собрали в 1 логическую матрицу.
Adrift
Вымогатель припоя
Сообщения: 552
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Adrift »

[uquote="jcxz",url="/forum/viewtopic.php?p=4684412#p4684412"]Конечно, если в каком-то ARM есть некие периферийные блоки (таймеры) работающие очень похоже на счётчики ВИ53 - тогда может быть проще на них. Но в каких МК есть такие таймеры? Я таких не видел.
Но даже если такие аппаратные таймеры в каком-то МК есть, то как выполнять синхронизацию их работы с ходом выполнения эмулируемой программы? Если они будут работать параллельно с работой основного CPU, то это его разгрузит от их обслуживания, но создаст проблемы с синхронизацией.[/uquote]
У Pico есть 2 или 3 таких блока:
СпойлерИзображение
До 12-ти стейт машин могут выполнять небольшие программки на ассме параллельно с двумя основными ядрами. У каждого есть FIFO на 32 байта, есть синхронизация, можно ждать пока другие стейт машины или CPU не установят определенные флаги. Также есть два 32-х битных регистра которые можно как счетчики использовать и можно часть FIFO под переменные зарезервировать. Основное предназначение PIO - как раз создание периферии, умельцы два монитора сразу по HDMI к ним подключали. Или можно к имеющемуся USB добавить еще 3, по одному на каждом PIO )
Вложения
pio.png
(36.43 КБ) 198 скачиваний
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4684424#p4684424"]а мощный то зачем? ;)
вв55 это 3 регистра защелки и 3 z-буфера c демультиплексором для управления.[/uquote]Это потому, что вы документацию на него не читали. 8)
То, о чём вы пишете - это всего лишь режим_0 работы ВВ55. Самый простой режим. Да, его эмулировать просто.
Но ведь ВВ55 ещё имеет режимы 1 и 2. А если программа их включит? Попробуйте почитать про них. В тех режимах без потактовой эмуляции на мощном CPU будет сложно.

[uquote="AlexS4",url="/forum/viewtopic.php?p=4684424#p4684424"]производительность даже avr @ 20MHz на порядок выше чем z80 @ 4MHz, думаю если сделать маленький шажек в подходах при программировании к тем забытым временам не должно быть проблем ;)[/uquote]Да ладно!?? А сами пробовали? 8)
А почему тогда некоторые эмуляторы того же Вектор-06Ц с тактовой 3МГц, выполняясь на моём не самом хилом i5, грузят его на десятки процентов??? И это - i5 с тактовой в несколько ГГц! И как же это потянет хилый AVR???
Ещё раз повторяюсь: Производительность эмулируемого CPU здесь вообще не при чём. Чисто для эмуляции выполнения команд возможностей AVR хватит за глаза. Проблема будет в эмуляции периферии и её синхронизации с работой CPU.
Но зачем эмулировать один только ВМ80? Без периферии.

[uquote="AlexS4",url="/forum/viewtopic.php?p=4684424#p4684424"]только очень увлеченный человек может заняться подобным когда есть простые пути :tea:[/uquote]Просто болтать о чём-то - это всегда просто. И всё кажется простым и элементарным. (как ваши рассуждения о ВВ55) Но как доходит до дела.... куда деваются все эти теоретики???... 8)

Добавлено after 6 minutes 49 seconds:
[uquote="Adrift",url="/forum/viewtopic.php?p=4684429#p4684429"]У Pico есть 2 или 3 таких блока:
СпойлерИзображение
До 12-ти стейт машин могут выполнять небольшие программки на ассме параллельно с двумя основными ядрами. У каждого есть FIFO на 32 байта, есть синхронизация, можно ждать пока другие стейт машины или CPU не установят определенные флаги.[/uquote]Тогда да - в таком случае это конечно поможет. Сильно снизит нагрузку на главный CPU.
Хорошая вещь!
Последний раз редактировалось jcxz Ср фев 19, 2025 14:45:27, всего редактировалось 1 раз.
Adrift
Вымогатель припоя
Сообщения: 552
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Adrift »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4684424#p4684424"]производительность даже avr @ 20MHz на порядок выше чем z80 @ 4MHz[/uquote]
Z80 после выставления WR держит на шине данные примерно полтора такта, для спектрума это ~0.43us. AVR должен зафиксировать изменение уровня WR и за это время успеть прочитать с шины хотя бы 8 бит данных и несколько бит адреса, а в идеале все 16 бит. И MREQ тоже.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="Adrift",url="/forum/viewtopic.php?p=4684438#p4684438"]Z80 после выставления WR держит на шине данные примерно полтора такта, для спектрума это ~0.43us. AVR должен зафиксировать изменение уровня WR и за это время успеть прочитать с шины хотя бы 8 бит данных и несколько бит адреса, а в идеале все 16 бит.[/uquote]Если это про эмуляцию ВИ53, то:
1) и успеть прочитать (если запись) и после чтения - изменить работу внутренних счётчиков;
2) и успеть выставить свои данные (если чтение);
3) и в это же время успевать обслуживать работу 3-х счётчиков;
4) и в это же время успевать выводить состояние выхода счётчиков на внешние пины - выходы каналов.
И чтобы скажем п.1 не сбивал время работы п.3 и п.4. Т.е. - есть запись в ВИ53 или нет её - счётчики должны считать с одинаковой скоростью.

А теперь вспоминаем, что частота тактирования ВИ53 может достигать 2.5МГц. Успеете все эти дела (да для 3-х счётчиков ВИ53) успеть сделать на дохлом 20МГц-овом AVR? Это получается = 8 тактов на всё про всё! :shock:
За 8 тактов успеете выполнить все эти дела да ещё не сбить временную диаграмму счётчика??? ну-ну... :)))

PS: Сомневаюсь что даже на 200МГц-ов ARM-е успеете...
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6668
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение AlexS4 »

а теперь вспоминаем что эмулировать работу шины процессора не обязательно, если в одной msc эмулируется весь компьютер целиком.
нужно эмулировать только функции периферии. например работу таймеров ви53. а это уже совсем другая задача в смысле жесткости временных интервалов.
Сомневаюсь что даже на 200МГц-ов ARM-е успеете..
если на питоне писать обрабатывая сигналы по 1 биту порта, алгоритмами типа как тут в теме обработки кнопок предлагают,
то может не хватить и 2GHz, только вот о чем это говорит :)) :tea:
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="AlexS4",url="/forum/viewtopic.php?p=4684447#p4684447"]а теперь вспоминаем что эмулировать работу шины процессора не обязательно, если в одной msc эмулируется весь компьютер целиком.
нужно эмулировать только функции периферии. например работу таймеров ви53. а это уже совсем другая задача в смысле жесткости временных интервалов.[/uquote]Серьёзно? За 8 тактов на один такт тактирования и всю периферию сэмулируете и ещё и процессор??? В фантазии вам не откажешь.... :)))

[uquote="AlexS4",url="/forum/viewtopic.php?p=4684447#p4684447"]если на питоне писать обрабатывая сигналы по 1 биту порта как тут в теме обработки кнопок предлагают
то може не хватить и 2GHz, только вот о чем это говорит :)) :tea:[/uquote]Я вижу - вы не в теме. Какие именно эмуляторы "на питоне"? Назовите?
Все которые я использовал - .exe-файлы.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение BOB51 »

Ну и о чем спор то?
8)
Давным давно делаются "специализированные БИС" из стандартных МК, как и обратное - использование БИС периферии для конструкций с МК.
Просто подбираем наиболее оптимальный набор компонентов для конкретной схемы.
:hunger:
Другое дело, что схемотехника "из умных кусочков" требует заметно больше внимания, знаний и навыков, чем обычная с одним МК.
:tea:
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6668
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение AlexS4 »

[uquote="jcxz",url="/forum/viewtopic.php?p=4684454#p4684454"]. Какие именно эмуляторы "на питоне"? Назовите?
Все которые я использовал - .exe-файлы.[/uquote]
причем тут готовые симуляторы? мы же говорим о технической возможности написать симуляцию.
на С можно писать так что эффективность будет ...как у ардуины :))) и будут скомпилированные исполняемые файлы.
За 8 тактов на один такт тактирования и всю периферию сэмулируете и ещё и процессор???
какие 8 тактов ? какие процессы скажем в спектруме нужно симулировать за строго именно в 40nS ?

еще раз: нет смысла симулировать процессы на шине Z80 !
у хостовых процессоров есть свои шины и интерфейсы

все задачи симулируемые на более мощных хостовых cpu раcкладываются в асинхронный поток (один или несколько, если мультиядерная архитектура) это позволяет спокойно работать с необходимыми накладными расходами связанными с различиями симулируемой архитектуры (прочитайте как quemu работает например), а критичные по времени процессы синхронизируются таймерными прерываниями. а супер тайминговые процессы, вроде формирования видеосигнала, делаются с учетом имеющихся хостовых аппаратных средств, иногда здорово отходя от тупой симуляции аппаратного процесса симулируемого устройства.
Ответить

Вернуться в «Разные вопросы по МК»