Еггаг

Контроллер для любителей ассемблера Z80

01.05.2017, 18:04. Показов 17290. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из спортивного интереса и ностальгии по временам, когда любые программы помещались в 64КБ памяти, запилил такой странный девайс:

http://ziduino.ucoz.org/_ph/2/952189755.jpg


http://ziduino.ucoz.org/_ph/2/900254308.jpg
Для меня это устройство является пробой разработки с помощью САПР и первым опытом в создании конструкции сложнее простенького радиолюбительского усилителя.
Фактически это универсальный контроллер на z80, снабженный парой относительно актуальных интерфейсов и графическим дисплеем.
http://ziduino.ucoz.org/ - здесь подробное описание, фотографии и видео с демонстрацией работы.

P.S. хостинг на который была выложена информация о проекте оказался настолько уныл, что упал с появлением более двух посетителей..
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.05.2017, 18:04
Ответы с готовыми решениями:

Эмулятор z80 для i8080
Доброго всем времени суток Мож кто-нибудь сталкивался с этим эулятором и компоновщиком L80 и может объяснить, как с ними работать или...

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

Для любителей поразмышлять:)
Есть урна, в которой находится n белых шаров. Вслепую достается шар, перекрашивается в черный цвет и кладется обратно( если шар уже черный,...

34
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
08.05.2017, 03:09
Студворк — интернет-сервис помощи студентам
В Z80 самое главное отличие от 80 - появление команды копирования массива, выполнялось раз в 10 быстрее, чем кусок кода на 80. А вообще, я считаю, очень удачная архитектура, а риск она или не риск, как-то пофигу.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
08.05.2017, 04:14
Z80 как и предшественник i-8080 никогда к архитектуре RISC не относился. Это чистый CISC.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
08.05.2017, 04:31
Цитата Сообщение от KPK
Не сомневаюсь, но какой практический выход применения данной архитектуры в сравнении даже с PIC AVR MSP430 ARM или 51?
Даже студентам смысла мало изучать, разве что факультативно.
Понастальгировать можно и с клонами ZX-Spectrum/
Мне кажется, что Z80 обладает сейчас некоторыми довольно уникальными характеристиками. Это простой процессор, доступный в продаже, имеющий возможность выполнения программы из озу.
Также он доступен в корпусах, позволяющих распаивать его на макетке. DIP - до 10 MHz, PLCC - до 33 MHz.
0
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 461
08.05.2017, 13:20
Цитата Сообщение от bw429
Мне кажется, что Z80 обладает сейчас некоторыми довольно уникальными характеристиками. Это простой процессор, доступный в продаже, имеющий возможность выполнения программы из озу.
Также он доступен в корпусах, позволяющих распаивать его на макетке. DIP - до 10 MHz, PLCC - до 33 MHz.
Это не аргумент и не преимущество для применения.
MSP430. например, гораздо проще и имеет выполнять код из ОЗУ (и даже FROM) :)
Остаётся нерешённым вопрос по производительности и места для кода программы.
С производительностью что имеем то имеем (максимально ассемблер для любителей), а с компактностью можно рассмотреть возможность разместить в разработке помимо Бейсика и Форт (на Github много проектов) и управлять, например, гирляндой для новогодней ёлочки или каким нибудь нетребовательным производственным технологическимоборудованием (т.к. выбор периферийных микросхем и их обслуживание может отъесть значительную часть ресурсов ЦП + всякие "планировщики") :)

P.S. Всё таки, Z80 при всёй её интересности, сейчас не востребована. Даже GBA уже имел, помимо Z80, основным процессором ARM7TDMI (16 МГЦ в THUMB режиме). Калькуляторы HP-38G+ применяли уже и далее ARM (сначала на частоте 72Мгц) для симуляции оригинального процессора (Saturn) и ПО .
Кстати нашёл интересный tv эстонский канал для просмотра в передаче Кафе+ обсуждают всякую "хрень" сейчас обсуждают рыноктруда или нетруда :)
Доход меньше 730евро в месяц повод подумать об доп обучении. Средняя медианная зарплата руководителей 6000евро.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
08.05.2017, 13:31
Возможность выполнять код из ОЗУ это всего лишь отличие фон-Неймановской архитектуры от Гарвардской. В контроллерах MCS-51 для добавления такой возможности достаточно обьединить сигналы /RD и PSEN элементом И.
Но!!! Это серьезно снижает вирусоустойчивось кода.
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
08.05.2017, 17:01
Цитата Сообщение от omokost
Возможность выполнять код из ОЗУ это всего лишь отличие фон-Неймановской архитектуры от Гарвардской.
В контроллерах MCS-51 для добавления такой возможности достаточно обьединить сигналы /RD и PSEN элементом И.
Но!!! Это серьезно снижает вирусоустойчивось кода.
В контроллерах MCS-51 для добавления такой возможности достаточно... использовать режим внешней памяти... при этом теряется самодостаточность одномикросхемного устройства и её превращения в обычное многомикросхемное решение
На период отладки вместо 573РФ2 ставилась 537РУ10 (с подпаянной батарейкой сверху - для сохранности программы при перемещении микросхемы в программатор ) и программа исполнялась из неё

http://i7.5cm.ru/t/9zPb.jpg
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
08.05.2017, 17:07
У вас пробел в знаниях, - Модуль AT89C51ED2 для Pinboard II, вырезка
Коротко о принципе работы Monitor-51.
МК i51 имеет Гарвардскую архитектуру, т. е. области памяти программы (ROM, Ftosh) и данных (ROM) физически разделены и программа не может исполняться из области данных. Поэтому динамически изменять (для установки и снятия брекпойнтов) память программ невозможно. Это возможно в архитектуре фон-Неймана, где память программ и память данных занимают общее адресное пространство в ROM. Здесь такого принципиального ограничения нет, и программа может сама себя перезаписывать. Именно на этом основана работа резидентных Monitor51 и подобных. Аппаратным довеском процессор Гарвардской архитектуры на время отладки превращается в процессор архитектуры фон-Неймана. Это позволяет отладчику ставить в прозвольных местах программы брекпойнты и при этом ходить взад/вперед. Аппаратный довесок, это наличие дополнительной ROM и логики дешифратора, нужных только на время отладки, и в рабочем режиме (гарвардская архитектура) доступных только по инструкции MOVX.
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 721
08.05.2017, 17:23
Цитата Сообщение от omokost
У вас пробел в знаниях...
у кого то пробел в навыках :)
Микросхемы КР1816ВЕ31 (КР1816ВЕ39 )представляют собой однокристальную 8-разрядную микро ЭВМ с внешним программируемым ПЗУ
....
адресное пространство (64 к) для внешнего ЗУПВ данных;
адресное пространство (64 к) для внешней программной памяти.
схему совместного использования одной микросхемы ОЗУ фон-Неймана и то как появилось 128 КБ в ZX-128 надо объяснять ?
лёгким передёргиванием ножки Гарвард превращается в фон-Нейман... аналогично можно и наоборот сделать.
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
08.05.2017, 18:03
Цитата Сообщение от yiv91
В Z80 самое главное отличие от 80 - появление команды копирования массива, выполнялось раз в 10 быстрее, чем кусок кода на 80.
и это все еще сильно медленно. 21 такт на байт! если разлупить команду (ldi), то 16 тактов на байт. и это тоже медленно! поэтому если надо, чтобы программа работала сносно - копируют через стек (запрещая прерывания и все прилагающееся). ну и главное ли это отличие - даже хз:) отличий там дофига и все интересные. были, в свое время.
Цитата Сообщение от bw429
Мне кажется, что Z80 обладает сейчас некоторыми довольно уникальными характеристиками. Это простой процессор, доступный в продаже, имеющий возможность выполнения программы из озу.
простота - понятие относительное. например, команд там - дохрена, намного больше чем в пике, например. доступность тоже как бы под вопросом. купить-то можно, но имхо труднее, чем стм или авр, которые есть в любом ларьке. на счет выполнения программ из озу - не так часто это надо (и надо еще само озу подключить!).
а вот зато инструментов адекватных на сегодняшний день можно считать что и нет. компиляторы си - убогие. есть например iar, который давно не продается и не поддерживается и он имеет баги (хотя дает чуть ли не лучший код из всех имеющихся компиляторов), и есть сырой sdcc для мазохистов. в любом случае на з80 сишный код ложится очень плохо. так что только асм для з80. если кому охота просто поковырять ради ковыряния - отлично. для практических целей - ну его нахрен.
Цитата Сообщение от omokost
Но!!! Это серьезно снижает вирусоустойчивось кода.
серьезно прям? а что, программу во флеше/пзу нельзя заставить выполнять нужный тебе код? вроде давно уже все придумали и вовсю используют.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
09.05.2017, 00:29
Отвлечение. Чуток мат-части.
Архитектура фон-Неймана отличается единым адресным пространством программы и данных. То есть по сути код и данные лежат на одном носителе, работающем по одной шине. Вин здесь такой: система управления периферией и т.п. проще. А фейл здесь в том, что для выполнения команды требуется много раз тактовать шину. То есть считал код команды, операнды, и потом данные и т.п. И все по одной шине.

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

Как-то так. В старых МК на базе MCS51 правда был косяк, что внутри памяти нет, а наружу смотрит только одна мультиплексируемая шина. Здесь все преимущества Гарварда сведены на нет, т.к. один хер все по одной шине. Потому сигнал PSEN и RD реально всегда объединяли. А вот в современных RISC МК такое преимущество как раздельные шины кода и данных используется во всю, ускоряя работу.

И оговорка: если из Гарвардской архитектуры еще и можно сделать фон-Неймановскую (путем бубна и плясок и то на старых МК), то вот наоборот - извольте: не выйдет. Шина-то одна...
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
09.05.2017, 13:41
матчасть матчастью, только осталась она примерно там же где и з80. давным давно уже гибриды повсюду. типа, память общая, а шины и кеши разные.
0
0 / 0 / 0
Регистрация: 11.08.2010
Сообщений: 48
12.05.2017, 21:12
https://www.kickstorter.som/pr... strum-next
На сайте Kickstorter идет сбор средств на выпуск компьютера ZX Spectrum Next.
Идет успешно — при первоначальной цели собрать 250 000 фунтов стерлингов уже собрано в полтора раза больше.
В два раза больше почти уже собрали. Кста, Nintendo выпустила NES Ctossic Mini - разлетелась как горячие пирожки. Эх, ностальжи. Народ на ретро потянуло.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
13.05.2017, 01:00
Цитата Сообщение от Soys
В два раза больше почти уже собрали. Кста, Nintendo выпустила NES Ctossic Mini - разлетелась как горячие пирожки. Эх, ностальжи. Народ на ретро потянуло.
Видимо, игры этого уровня уже вызывают мощную психологическую зависимость :) Более древние простейшие игры типа понга не так опасны.

PS: интересно, а зачем они вывели все выводы плисины по квадрату?
У меня так получается, что чтобы комфортно и без затей разводить компоненты с шагом 0.5 и несколькими хаотично расположенными параллельными шинами, необходимо использовать переходные отв с внешним диаметром площадки тоже 0.5 мм. А это приводит к заметному удорожанию даже 2-х слойки. Насчет 4-х слойки даже и думать неохото. Но вот если искусственно увеличить шаг компонентов до хотя бы 0.8 мм, то сразу же все становится и удобно и дешево.
0
Еггаг
17.05.2017, 16:57
Цитата Сообщение от bw429
Мне кажется, что Z80 обладает сейчас некоторыми довольно уникальными характеристиками.
Также он доступен в корпусах, позволяющих распаивать его на макетке. DIP - до 10 MHz, PLCC - до 33 MHz.
Поправлю. Для обоих корпусов только до 20MHz. До 33 это z180, либо MPU с z80-м ядром
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
17.05.2017, 20:41
частоту з80 делите сразу примерно на 8 (в среднем). а то пиписьками меряетесь, а шкала линейки неправильная;)
10 мгц авр на порядок лучше 20мгц з80. не говоря об арм.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2017, 20:41

Для любителей кальяна
Здравствуйте, Дорогие товарищи! Давайте поговорим на тему кальяна. Кто какой табак предпочитает, у кого какой кальян, как часто курите и...

Для любителей Altium
Как бы дорожку провести ? А то как-то все длинно получается. Она одна и последняя. Опыт у меня не большой , а сам "опыт" ( он же...

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

Для любителей программирования в С++
НАРОД! Идёт набор членов вертуального клуба программистов-любителей.Подробности на Sergeytol.narod.ru.

Для любителей поразмышлять:)
В некотором царстве-государстве, жили-были разбойники. И вот поймали 100 самых умных и благородных и говорят им: "Видите комнату? В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Опции темы

Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru