АЛУ на NAND

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

Moderator: Lavr

User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

У него нет аналогов RRC и RRC, а есть только - RAR, RAL - насколько такое упрощение существенно для программирования?
зато у него есть BTFSC/BTFSS, а значит RRC RLC не нужны
Last edited by MC68k on 14 Oct 2011 06:32, edited 2 times in total.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

А мне схемка нравится! :kruto:
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:
У него нет аналогов RRC и RLC, а есть только - RAR, RAL - насколько такое упрощение существенно для программирования?
зато у него есть BTFSC/BTFSS, а значит RRC RLC не нужны
Согласен, но BTFSC/BTFSS - аппаратно сложнее, а я думаю - не подупростить ли этот вариант...
Значит RRC и RLC оставляем - всё равно им цена только входы мультиплексора. Проще схема не будет.

HardWareMan wrote:А мне схемка нравится! :kruto:
Конструктивнее, Хардыч, и критичнее... :wink:
Дело не во вкусах, а в какое соотношение хард/софт это в итоге выльется.
User avatar
Shaos
Admin
Posts: 24012
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

ПЗУ тормозно будет - можно конечно PAL/GAL, но это уже не совсем кошерно в рамках данного топика ;)

P.S. Бит чётности ненужен (ни как кол-во единиц, ни как состояние нулевого бита)
Last edited by Shaos on 14 Oct 2011 07:16, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Lavr wrote:
MC68k wrote:
У него нет аналогов RRC и RLC, а есть только - RAR, RAL - насколько такое упрощение существенно для программирования?
зато у него есть BTFSC/BTFSS, а значит RRC RLC не нужны
Согласен, но BTFSC/BTFSS - аппаратно сложнее, а я думаю - не подупростить ли этот вариант...
Значит RRC и RLC оставляем - всё равно им цена только входы мультиплексора. Проще схема не будет.

HardWareMan wrote:А мне схемка нравится! :kruto:
Конструктивнее, Хардыч, и критичнее... :wink:
Дело не во вкусах, а в какое соотношение хард/софт это в итоге выльется.
нууу, что же вы, батенька так. если сделать ограничение для этих команд с одним битом под номером один/семь, то через флаг переноса ничего роллить не надо. сдается мне команды RRC RLC сделаны а)чтобы были б) чтобы не выделять первый/седьмой бит логическим И(экономим аж 2 байта в формате ВМ80)

Code: Select all

 RRA
AND #01
JZ met

Code: Select all

RRC
JC met
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Бит чётности ненужен (ни как кол-во единиц, ни как состояние нулевого бита)
А мне кажется, как состояние нулевого бита он аппаратно ничего не стоит, потому как регистр флагов - всё-равно 4-битный...
Но очень удобно распихивать что-то по четному/нечетному значению аккумулятора,
не двигая циклически во флаг переноса.

Code: Select all

RRC
JNC XXXX
будет идентично

Code: Select all

JNP XXXX
PS. JNP - чтоб отличалось от JPO/JPE, хотя можно и оставить как было у i8080...
Last edited by Lavr on 14 Oct 2011 07:54, edited 1 time in total.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Re: 4-BIT АЛУ на TTL

Post by VituZz »

Lavr wrote: Сигналы K1,K2 на входах 1 и 2 мультиплексоров аргумента позволяют подавать на входы первого операнда операционного устройства АЛУ полубайты собственно аргумента A и значения 0h , 0Fh и 0h соответственно. Последнее значение 0h является избыточным, и может быть впоследствии заменено на другое (возможно, /A).
Мне кажется, что /A предпочтительнее.
Lavr wrote: Возникает вопрос - нужен ли реальный флаг чётности Р в составе АЛУ? Есть мнение, что это рудимент использования в коммуникационных программах. Может имеет смысл и удобен флаг просто чётности результата (как Р со штрихом) т.е. состояние бита 0?
Да, этот флаг применяется очень редко, но я бы его оставил.
Lavr wrote: 1. Достаточна ли реализованная система команд?
На первый взгляд достаточна.
Lavr wrote: 2. Не избыточна ли реализованная система команд?
Если сравнивать с системой команд, содержащей одну лишь SUB, то да, несколько избыточна :).

Но как я понимаю, ты не один день думал над этим вопросом, поэтому, раз возгласов возмущения не слышно, можно взять плоды твоего труда за основу и двигаться дальше. Лично я не буду делать всё на NAND, но в том виде, в каком схема сейчас, мне было бы интересно сделать.
Last edited by VituZz on 14 Oct 2011 08:06, edited 2 times in total.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: 4-BIT АЛУ на TTL

Post by Lavr »

VituZz wrote: Мне кажется, что /A предпочтительнее.
/A - предполагает вычитание из B - а мне кажется излишним такая симметрия операций...
VituZz wrote: Да, этот флаг (Р) применяется очень редко, но я бы его оставил.
За всю жизнь я видел лишь одну полезную программу, где с пользой применялся флаг Р - это вычисление CRC.
Я всё-таки хочу реализовать его как просто чётность результата.
VituZz wrote: Но как я понимаю, ты не один день думал над этим вопросом, поэтому, раз возгласов возмущения не слышно, можно взять плоды твоего труда за основу и двигаться дальше. Лично я не буду делать всё на NAND, но в том виде, в каком схема сейчас, мне было бы интересно сделать.
Не торопись... Ещё нужно устройство управления этим АЛУ. Поэтому я и обсуждаю сейчас со всеми набор команд. Потом менять что-то будет сложнее.
Я всё-же надеюсь что этот проект мы все вместе доведём до ума.
И я думаю - он получится проще чем есть.
Сейчас я нарисовал так, чтобы всем была видна логика работы команд,
чего некоторые торопыги никак не успевают прочесть... :D
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

судя по набору команд, будет CISC. Значит достаточна и неизбыточна. Команд больше, но код компактенее.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:судя по набору команд, будет CISC. Значит достаточна и неизбыточна. Команд больше, но код компактенее.
Честно говоря, окончательно не решили...
Я склонялся к RISC из-за схемной простоты, но были и другие мнения, как в начале этого топика, так и вот здесь:
viewtopic.php?t=9573&postdays=0&postorder=asc&start=30

Интересное решение было бы смешанная: RISC, но дать возможность, хотя бы окольную, писать в память программ...

Я почитал различные источники - в строгом RISC-стиле сейчас практически ничего не делают. Да и сам набор требований для RISC стал мягче.
Наверное воплощу одну догму - все операции выполняются в регистрах, загрузка из памяти только в них, а может даже только в А.
Но это сугубо для простоты схемотехники...

Вопрос на засыпку: если убрать команды сложения с учетом флага переноса и вычитания с заёмом - то как реализовать многобайтную арифметику?
Типа - если С=1, то сделаем дополнительно А+1?
Мне кажется это накладно... но вернуться к этому можно. Такой вариант я тоже рассматривал:

Image
_______________ Рис. 5. _______________

но решил от него отказаться.
Last edited by Lavr on 15 Oct 2011 03:05, edited 2 times in total.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Давайте сразу определимся, какой "генеральный курс партии": минимализм схемы или удобство для программиста?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:Давайте сразу определимся, какой "генеральный курс партии": минимализм схемы или удобство для программиста?
Безусловно - компромиссный.
Подсчитываем число корпусов, и если их много - от чего-то аппаратного отказываемся.
Я, как и обещал, планирую влезть в одну большую макетку всем процессором.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Большая макетка должна содержать ЦПЭ на И-НЕ? Сколько примерно корпусов вместится на макетку?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:Большая макетка должна содержать ЦПЭ на И-НЕ? Сколько примерно корпусов вместится на макетку?
Обсуждали уже этот вопрос в этом же топике - не будем повторяться.
А про большую макетку - тоже говорили - примерно вот столько:

Image
Last edited by Lavr on 14 Oct 2011 15:07, edited 1 time in total.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Я понимаю, что при переходе от вышеприведенной схемы АЛУ на NANDы это не имеет значения, но всё же почему для формирования флага Z выбрана ЛИ6, а не более распространённая ЛА1 со входами, подключенными к прямым выходам КП7? Это и по скорости должно быть быстрее, если верить справочнику Шило.