4-битный бейдж Суперконференции Хакадея 2022 года

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

Заявлено, что регистры замаплены на память (а также имеется альтернативный набор регистров в странице 14):
Memory.png
По памяти ездит окно в 2 страницы, которое выводится на матрицу светодиодов 8x16 бейджа.
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:Прямая запись в PCH и PCM согласно документации тоже инициирует передачу управления, но я в этом вижу мало смысла.
Вероятно, полезно, как косвенный JMP по таблице переходов. Типа как PCHL у i8080.

А вообще говоря, у 4-битника с 12-битной шиной делать все эти JMP-ы за разумное количество
тактов довольно-таки трудновато. :-?
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

Shaos wrote:Система команд в табличной форме из документа:

Image
Казалось бы а почему из сдвигов только есть сдвиг вправо через флаг C? А вот почему :)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

Lavr wrote:
Shaos wrote:Прямая запись в PCH и PCM согласно документации тоже инициирует передачу управления, но я в этом вижу мало смысла.
Вероятно, полезно, как косвенный JMP по таблице переходов. Типа как PCHL у i8080.

А вообще говоря, у 4-битника с 12-битной шиной делать все эти JMP-ы за разумное количество
тактов довольно-таки трудновато. :-?
Зато там есть SKIP аж на 4 инструкции :)

P.S. Voja разъяснил, что запись в PCH и PCM не инициирует jump (видимо доку надо подкрутить чуток) - только запись в PCL (или запись в JSR для вызова подпрограммы).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:...там есть SKIP аж на 4 инструкции :)
Понятное дело - длинный JMP обходить...
Shaos wrote:...запись в PCH и PCM не инициирует jump (видимо доку надо подкрутить чуток) - только запись в PCL (или запись в JSR для вызова подпрограммы).
А вот это весьма странно... :roll: Если PCH + PCM + PCL - это 12-битный PC, то jump обязан быть!
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

Ну это логично, что он не каждую часть прыгает - пока заполняешь PCH и PCM, то всё идёт как идёт, а как поменял PCL, то оно прыгает на PCH+PCM+PCL (а если поменял JSR, то оно вызывает подпрограмму по адресу PCH+PCM+JSR)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:Ну это логично, что он не каждую часть прыгает - пока заполняешь PCH и PCM, то всё идёт как идёт, а как поменял PCL, то оно прыгает на PCH+PCM+PCL (а если поменял JSR, то оно вызывает подпрограмму по адресу PCH+PCM+JSR)
Это как раз НЕ логично! :lol: PC всегда указывает на ячейку в памяти, где лежит текущий ниббл.
"всё идёт как идёт" как раз по адресам, указываемым полным PC :lol:
Я даже не представляю, как это сделать в железе иначе. :-?
Ну разве что это всё же эмулятор 4-битника на микроконтроллере - там любые фокусы возможны... :-?
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

А не надо относиться к PCH,PCM и PCL как к частям PC - 12-битный PC живёт где-то внутри сам по себе, а эти три 4-битных регистра просто используются, чтобы подготовить 12-битный адрес для дальнейшего копирования в настоящий PC и это копирование инициируется записью в PCL (или JSR).

Кстати вот уже первая реализация этого ЦПУ на языке описания железа есть - правда это какой-то экзотический Amaranth HDL над Питоном, но тем не менее:

https://github.com/ylm/nibblecpu
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:А не надо относиться к PCH,PCM и PCL как к частям PC - 12-битный PC живёт где-то внутри сам по себе, а эти три 4-битных регистра просто используются, чтобы подготовить 12-битный адрес для дальнейшего копирования в настоящий PC и это копирование инициируется записью в PCL (или JSR).
Странно это совсем... :roll: Ну тогда это называть надо как-то иначе - не PCх, а некий буфер PC.
Трюк такой известен ещё в EDUC-8, там сегмент копировался в полный PC при JSR и JMP, но никто не называл
этот буфер PCseg, скажем.

Да и документации факт противоречит - сам же говоришь... :wink:
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

В документации опечатка просто - автор обещал исправить
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:В документации опечатка просто - автор обещал исправить
Ты ему уже написал? :wink:


P.S. Кстати...
Lavr wrote:Трюк такой известен ещё в EDUC-8, там сегмент копировался в полный PC при JSR и JMP, ... :wink:
"синтетические" инструкции - это тоже трюк из PDP-8 - EDUC-8! :wink:
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

Lavr wrote:
Shaos wrote:В документации опечатка просто - автор обещал исправить
Ты ему уже написал? :wink:
Читаем внимательно выше :)
Shaos wrote:P.S. Voja разъяснил, что запись в PCH и PCM не инициирует jump (видимо доку надо подкрутить чуток) - только запись в PCL (или запись в JSR для вызова подпрограммы).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:Читаем внимательно выше :)
Shaos wrote:P.S. Voja разъяснил, что запись в PCH и PCM не инициирует jump (видимо доку надо подкрутить чуток) - только запись в PCL (или запись в JSR для вызова подпрограммы).
Так когда читают внимательно, как раз вопросы и задают, если встретилось противоречие. :wink:
А когда проглядывают наискосок - то проходят просто мимо...

Я ж не знаю, кому это "видимо доку надо подкрутить чуток" - тебе или самому Voja... :roll:
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Lavr »

Shaos wrote:...запись в PCH и PCM не инициирует jump (видимо доку надо подкрутить чуток) - только запись в PCL (или запись в JSR для вызова подпрограммы).
Интересно, кстати, если регистр JSR - 4-битный, то вызов подпрограммы возможен в пределах 16 ячеек адреса,
и пересекать границы сегментов, определяемых PCH и PCM, не сможет? :roll:
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 4-битный бейдж Суперконференции Хакадея 2022 года

Post by Shaos »

Lavr wrote:Я ж не знаю, кому это "видимо доку надо подкрутить чуток" - тебе или самому Voja..
Ну я свою доку написать не в состоянии, не говоря уже о том, чтобы исправить чужую :lol:
Lavr wrote:Интересно, кстати, если регистр JSR - 4-битный...
Он также как PCL работает - старшие 8 бит берутся из PCH и PCM и вперёд (но с занесением адреса возврата в стек):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net