-
- Работа с одноаккумуляторной архитектурой - это вопрос привычки. В
ней есть свои фичи. При правильном подходе код будет достаточно
плотным. - my504(10.04.2021 16:27)
- Я почти 15 лет работал с 8080/8085. Вроде бы должен был привыкнуть к аккумуляторной архитектуре? Ан нет, когда познакомился с Z8 в 1995, с такой радостью перепрыгнул туда, где любую операцию можно делать в любом регистре! - Лaгyнoв(12.04.2021 10:00)
- Да, это интересно - особенно с расширенной системой команд Zikon(1014 знак., 12.04.2021 08:29)
- Боюсь, это про аккумулятор стекового проца :) - Evgeny_CD(10.04.2021 16:57)
- АЛУ 8-битных микрочипов использует один входной операнд из
единственного аккумулятора (рабочего регистра WREG) и любого
регистра ОЗУ. Результат помещается в любой из операндов. Адресация
ОЗУ при этом прямая (адрес в инструкции) или косвенная. - my504(10.04.2021 17:14)
- А сколько регистров контекст процессора? Это я с точки зрения переключения задач. - Evgeny_CD(11.04.2021 00:03)
- Любого адреса ОЗУ в пределах окна 256 байт? - Evgeny_CD(10.04.2021 17:31)
- Это кагбэ естественно, поскольку разрядность инструкции ограничена.
С этим связан "банковый" доступ. Достаточно давно в 8-битах вместо
модификации двух разрядов в регистре STATUS ядра появился отдельный
регистр BSR, который расширяет адресное поле прямой адресации, а в
системе команд есть инструкция записи литерала в этот регистр
(movlb XX), что сокращает переключение старшего разряда до одной
инструкции. Чтобы не копаться в расположении переменных и
спецрегистров, есть my504(110 знак., 10.04.2021 17:38)
- Спасибо! Однако компилятор будет весьма нетривиальным для такой
архитектуры. - Evgeny_CD(10.04.2021 17:41)
- При использовании расширенной системы команд - компилятор будет очень тривиальным Zikon(1214 знак., 12.04.2021 08:56)
- За всё нужно платить. Со своего дилетантского зрения о компиляторах
я наивно полагаю, что эта фича добавляет лишний слой абстракции к
традиционному компилю... Я не очень в этом разбираюсь. - my504(10.04.2021 17:59)
- Или использовать высокоэффективный углеродный компилятор. - Evgeny_CD(10.04.2021 18:02)
- Грэта Тунберьх углеродов нэ одобряэ. - mse homjak(11.04.2021 00:31)
- Углеродные готовы пустить гретый туборг на метан. - Evgeny_CD(11.04.2021 00:52)
- Грэта Тунберьх углеродов нэ одобряэ. - mse homjak(11.04.2021 00:31)
- Или использовать высокоэффективный углеродный компилятор. - Evgeny_CD(10.04.2021 18:02)
- Спасибо! Однако компилятор будет весьма нетривиальным для такой
архитектуры. - Evgeny_CD(10.04.2021 17:41)
- Это кагбэ естественно, поскольку разрядность инструкции ограничена.
С этим связан "банковый" доступ. Достаточно давно в 8-битах вместо
модификации двух разрядов в регистре STATUS ядра появился отдельный
регистр BSR, который расширяет адресное поле прямой адресации, а в
системе команд есть инструкция записи литерала в этот регистр
(movlb XX), что сокращает переключение старшего разряда до одной
инструкции. Чтобы не копаться в расположении переменных и
спецрегистров, есть my504(110 знак., 10.04.2021 17:38)
- Ух ты! И это все за 4 такта опкода? - Evgeny_CD(10.04.2021 17:28)
- Ну да. За один машинный цикл. Прямая адресация ВСЕГО RAM - это
фирменная фича Микрочипа. Она по наследству досталась и 16 битам.
Правда с ограничением near-доступа (8К адресного пространства ОЗУ). - my504(10.04.2021 17:31)
- Так, что-то я определенно упустил. - Evgeny_CD(10.04.2021 17:35)
- 8К прямая адресация - это для pic24 и dspic и там уже нет банков - Zikon(12.04.2021 08:57)
- Так, что-то я определенно упустил. - Evgeny_CD(10.04.2021 17:35)
- Ну да. За один машинный цикл. Прямая адресация ВСЕГО RAM - это
фирменная фича Микрочипа. Она по наследству досталась и 16 битам.
Правда с ограничением near-доступа (8К адресного пространства ОЗУ). - my504(10.04.2021 17:31)
- АЛУ 8-битных микрочипов использует один входной операнд из
единственного аккумулятора (рабочего регистра WREG) и любого
регистра ОЗУ. Результат помещается в любой из операндов. Адресация
ОЗУ при этом прямая (адрес в инструкции) или косвенная. - my504(10.04.2021 17:14)
- Я когда бутлоадер делал под Q43, то сначала тоже не понял эти
виртуальные адреса. А по факту, наоборот, они всё упростили. Теперь
не нужно табличное чтение/запись (хотя оно осталось). Флешку можно
спокойно читать как ОЗУ просто по указателю. Там в даташите даже
пример на Си есть. В общем крайне приятные процы. - FDA(10.04.2021 07:14)
- Спасибо! Т.е. табличные методы будут нормально работать? - Evgeny_CD(10.04.2021 13:15)
- Я не очень понял о чем речь. Чтение флеша в 18-х через указатель и
инструкцию выборки (включая пре и пост инкрементные/декрементные)
были с незапамятных времен. Есть и сейчас. Как раз аналога
psv-доступа из 16 разрядов в 18-х не появилось. В отличии от PIC16,
в которых с адреса 0x2000 есть доступ к линейному адресному полю
ОЗУ (обрезки склеены), а с 0x8000 отражен весь флеш. - my504(10.04.2021 16:57)
- Я никогда с 8 битными пиками не работал, и не изучал их тщательно,
поскольку всю их архитектуру считал извращением. Но глядя на Q43,
Q84 подумал что, возможно, я чуток погорячился. - Evgeny_CD(10.04.2021 17:04)
- "Давайте спорить о вкусе устриц и кокосовых орехов с теми, кто их
ел, до хрипоты, до драки..." МЖ ))) - my504(10.04.2021 17:08)
- Верно. Про PIC спорить не могу, знаний нет. Я так, скромно интересуюсь. - Evgeny_CD(10.04.2021 17:11)
- "Давайте спорить о вкусе устриц и кокосовых орехов с теми, кто их
ел, до хрипоты, до драки..." МЖ ))) - my504(10.04.2021 17:08)
- Я никогда с 8 битными пиками не работал, и не изучал их тщательно,
поскольку всю их архитектуру считал извращением. Но глядя на Q43,
Q84 подумал что, возможно, я чуток погорячился. - Evgeny_CD(10.04.2021 17:04)
- Я не очень понял о чем речь. Чтение флеша в 18-х через указатель и
инструкцию выборки (включая пре и пост инкрементные/декрементные)
были с незапамятных времен. Есть и сейчас. Как раз аналога
psv-доступа из 16 разрядов в 18-х не появилось. В отличии от PIC16,
в которых с адреса 0x2000 есть доступ к линейному адресному полю
ОЗУ (обрезки склеены), а с 0x8000 отражен весь флеш. - my504(10.04.2021 16:57)
- Спасибо! Т.е. табличные методы будут нормально работать? - Evgeny_CD(10.04.2021 13:15)
- Работа с одноаккумуляторной архитектурой - это вопрос привычки. В
ней есть свои фичи. При правильном подходе код будет достаточно
плотным. - my504(10.04.2021 16:27)