nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 31 May 2020 04:11



Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Троичный 'RS-триттер' 
Author Message
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 573
Location: Spb
Reply with quote
Lavr wrote:
очень подходящий "задний фронт".

А при счете в обратную сторону он же получится "передним"? Для счетчика команд это не актуально, а вот для счетчика вершины стека? Он то по идее "растет" вниз.
Наверное, не в этой теме, но мне нравится разделение памяти в троичном ПК - от нуля вверх - программа, от нуля вниз - стек, от "низа памяти" к вершине стека и от "верха памяти" к концу программы - данные и подпрограммы. Эдакая полностью симметричная система))


03 Oct 2017 12:53
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Вобщем к соглашению пришли - пойду делать "длинный" троичный счетчик! :wink:

Сначала я из уже готового D-триттера, работающего по потенциалу, сделал динамический
D-триттер, работающий по срезу тактового сигнала. Идея известная - обычный "master-
slave", он же - "ведущий-ведомый", примерно, как на учебной картинке:
Attachment:
D000.gif
D000.gif [ 1.25 KiB | Viewed 4560 times ]

Узел троичной правой циклической инверсии я вносить внутрь блока D-триттера не стал,
поскольку отдельно D-триттеры пригодятся для регистров.

Получилась вот такая схема троичного счетчика в пределах двух троичных разрядов:
Attachment:
3cnt2.gif
3cnt2.gif [ 7.09 KiB | Viewed 4560 times ]

"Длиннее" я счетчик делать не стал, поскольку устройство аналоговое, но работает в пороговом
режиме, внутри каждого D-триттера порядка 56 ПТ, понятно, что моделирутся не быстро...
Но качественно! Правилные транзисторы - просто прелесть! Ни одного вылета рассчета по
достижению слишком малой величины шага! :kruto:

Ну и - осциллограммы просто радуют! :lol:
Attachment:
3osc1.gif
3osc1.gif [ 10.69 KiB | Viewed 4560 times ]

Я специально показал от сАмого старта - счетчик сам по себе без предустановок начинает считать
со значения "0" - а не "-1", как мы тут теоретически рассуждали, но считает правильно! :wink:

_________________
iLavr


04 Oct 2017 19:44
Profile
Maniac

Joined: 10 Mar 2017 06:30
Posts: 321
Reply with quote
Lavr wrote:
Я специально показал от сАмого старта - счетчик сам по себе без предустановок начинает считать
со значения "0" - а не "-1", как мы тут теоретически рассуждали, но считает правильно! :wink:


Вопрос: насколько я понимаю, триггеры не инициализируются при включении. Какое начальное значение будет на практике? Я тут с тримуксами играл, чаще всего при включении память показывает 0, но это только чаще всего. В целом зависит от погоды на Марсе.


04 Oct 2017 23:04
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
haqreu wrote:
насколько я понимаю, триггеры не инициализируются при включении. Какое начальное значение будет на практике? Я тут с тримуксами играл, чаще всего при включении память показывает 0, но это только чаще всего.

Можно приделать асинхронные входы начальной инициализации. Но пока было не охота схему усложнять.
Как поступают тримуксы я не знаю - я с ними не разбирался. Но мне кажется можно делать простой
трюк - дать счетчику при старте прокрутиться по кругу до нулей, а потом запускать в работу весь процессор.
Так сделано в "Специалисте" - длинный ресет - но там чтобы счетчик регенерции успел хотя бы раз
прокрутить все адреса ДРАМ.

Если тримуксы в регистрах - я думаю это непринципиально - Вы всё равно в регистры что-то запишете.

_________________
iLavr


06 Oct 2017 03:24
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Можно приделать асинхронные входы начальной инициализации. Но пока было не охота схему усложнять.

Но сделать это всё-равно придется, потому что иначе не получится сделать счетчики с произвольным
коэффициентом пересчета. Собственно, я уже припас трёхвходовые INV-MIN для этого...

Кстати, где-то тут Shaos вроде делал троичные часики... интересно, как он 60 секунд подсчитывал.

_________________
iLavr


06 Oct 2017 11:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
Однотритный симметричный считает -1,0,+1 или в обратную сторону, только из старшего трита получается заем (-1) вместо переноса (+1).

Image
А вот такой вопрос не праздный... если троичный счетчик подключен к адресным линиям троичного же
ПЗУ в качестве источника адресов, то как мы интерпретирум его счет?

_________________
iLavr


10 Oct 2017 14:49
Profile
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 573
Location: Spb
Reply with quote
Lavr wrote:
как мы интерпретирум его счет?

Видимо, мне для ответа нужны уточнения. Что имеется в виду под итерпретацией? С какого адреса начинать или в какую сторону считать?


10 Oct 2017 15:57
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
Lavr wrote:
как мы интерпретирум его счет?

Видимо, мне для ответа нужны уточнения. Что имеется в виду под итерпретацией? С какого адреса начинать или в какую сторону считать?

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

Хотя... может кто-то здесь представляет себе троичное ПЗУ (или ОЗУ) как-то иначе,
но я пока только вот так:
Attachment:
image011.png
image011.png [ 15.73 KiB | Viewed 4501 times ]

_________________
iLavr


10 Oct 2017 16:20
Profile
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 573
Location: Spb
Reply with quote
Начинаем считывать с "самых минусов" вверх ( с "физического" нуля, так сказать), до максимального положительного. Или с середины (с троичного нуля). Во втором случае можно отдать "отрицательные" ячейки под подпрограммы и стек. Но не вижу в этом смысла, пока память мала.
В симметричной троичной, по моему мнению, память будет выглядеть на логическом уровне, как начинающаяся в центре матрицы, адреса (для случая 3 трита) - -13 --- +13, для физического уровня - 0---27.


Attachments:
AdrTrio.png
AdrTrio.png [ 8.74 KiB | Viewed 4498 times ]
10 Oct 2017 17:02
Profile
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 573
Location: Spb
Reply with quote
А так ли уж важно, как расположены ячейки? В опкодах мы указываем ее номер (пусть и отрицательный) и получаем доступ. Единственный вопрос - с какого адреса начинать, с минусов или с нуля. Для маленькой памяти предпочтительней с минусов, так как меньше затрат на джампы в отрицательную часть, в случае начала с лог. нуля.


10 Oct 2017 17:09
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
AlexanderZh wrote:
А так ли уж важно, как расположены ячейки?

Важно. Речь идёт о ПЗУ троичных микрокоманд.

Так что все слова типа "стек", "опкоды", "подпрограммы" - забыли. Их там нет.
По нарастающему адресу надо выдавать из ПЗУ троичные слова, управляющие
потритно (или побитно) всеми узлами.

Так что я очень неблагодушен к рассуждениям о красоте симметрии в данный
момент.


P.S. Кстати, прикидываю как раз схемотехнику трёхтритного троичного дешифратора,
типа код-позиция, так схема вырисовывается покруче полного троичного сумматора! :o
Просто как-то даже совсем не верится вот в этот постулат...
:-?

_________________
iLavr


10 Oct 2017 17:27
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
В общем, я думаю так: троичный счетчик сам по себе "железный" считает всегда одинаково.
А мы имеем полное право интерпретировать его состояние выходов так, как нам необходимо
в конкретный момент.
В случае с ПЗУ микрокоманд интерпретировать его счет я буду вот так:
Image
Чисто как перебор адресов на увеличение безо всяких отрицательных значений.

Почему это важно? Потому что от этого зависит конструкция дешифратора.

И дешифраторы придется сделать двух типов. Первый тип - по счету без отрицательных значений
выбирают позицию. А второй тип - индицируют троичную арифметику - вот там придется учесть
отрицательный знак и выводить его на индикацию.

_________________
iLavr


11 Oct 2017 05:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Кстати, прикидываю как раз схемотехнику трёхтритного троичного дешифратора,
типа код-позиция, так схема вырисовывается покруче полного троичного сумматора!
:o

Я еще раз обдумал всю ситуацию и решил монструозного дешифратора не творить... :lol:
А сделать простой дешифратор 2-в-9 со входом разрешения, а потом такие
дешифраторы каскадировать.

По количетву элементов и транзисторов - всё равно получится МНОГО! 8)
Но много уже имеющихся. А иначе придется сотворять многовходовые INV-MIN.

И тут я столкнулся с презабавной ситуацией! :o
Я с самого начала предполагал, что не всё в троичной схемотехнике полностью троично.
И питание +/- 6В заложил в расчете на то, что вместе в трёхуровневой логикой
можно применить стандартную 12-вольтовую CMOS-логику там, где это будет удобно.

В дешифраторах - это уже удобно. Решил, что пора пробовать. По результату не знал,
то ли смеяться, то ли плакать... :wink:

МОДЕЛИ CMOS-ЛОГИКИ НЕ ПОНИМАЮТ, ЧТО ВКЛЮЧЕНЫ ОТ ИСТОЧНИКА +/- 6В !!!
Attachment:
4011.gif
4011.gif [ 10.09 KiB | Viewed 4489 times ]

Не смотря на то, что есть выводы питания, модели CMOS-логики работают так, как если
включены от одного источника питания относительно GND.

Да... сюрприз неприятный, но подспудно я к этому был готов - у меня во всех моделях
GND соединяется проводником и выводится в одну точку. Для совместимости с CMOS-
логикой достаточно будет переключить значок GND на - 6В

_________________
iLavr


11 Oct 2017 06:18
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1391
Location: Abakan
Reply with quote
Lavr wrote:
В общем, я думаю так: троичный счетчик сам по себе "железный" считает всегда одинаково.
А мы имеем полное право интерпретировать его состояние выходов так, как нам необходимо
в конкретный момент.
Я в общем то так и считал с самого начала, по-этому даже не сразу понял суть вопроса. Это как условный ноль в конкретных системах координат. Хотим - привязываемся к точке замерзания воды, не хотим - привязываемся к точке кипения ртути... В общем, что в конкретном моменте времени наиболее удобно.

Lavr wrote:
МОДЕЛИ CMOS-ЛОГИКИ НЕ ПОНИМАЮТ, ЧТО ВКЛЮЧЕНЫ ОТ ИСТОЧНИКА +/- 6В !!!
Значит модели рассчитываются из реальных разностей потенциалов. И это хорошо, потому как наиболее приближенно к реальной CMOS-логике.


11 Oct 2017 07:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
jdigreze wrote:
Lavr wrote:
В общем, я думаю так: троичный счетчик сам по себе "железный" считает всегда одинаково.
А мы имеем полное право интерпретировать его состояние выходов так, как нам необходимо
в конкретный момент.
Я в общем то так и считал с самого начала, по-этому даже не сразу понял суть вопроса. Это как условный ноль в конкретных системах координат.
Я и сам примерно так рассуждал, но посоветоваться с умными людьми не считаю смертным грехом...
Вдруг я заблуждаюсь? Для того и встречаемся на форуме, чтобы выслушать стороннее независмое
мнение от коллег.
jdigreze wrote:
Lavr wrote:
МОДЕЛИ CMOS-ЛОГИКИ НЕ ПОНИМАЮТ, ЧТО ВКЛЮЧЕНЫ ОТ ИСТОЧНИКА +/- 6В !!!
Значит модели рассчитываются из реальных разностей потенциалов. И это хорошо, потому как наиболее приближенно к реальной CMOS-логике.

Ну вот это я не понял... если модели рассчитываются из реальных разностей потенциалов, то они
одинаково хорошо должны работать как от +/- 6В так и от 0...+12В.
Что я и предположил...

Но реально, похоже, они никаких разностей потенциалов не оценивают.
А просто проверяют подключение по своим шинам VDD и VSS, а логические уровни выдают потом
согласно своей серии всегда относительно GND.

Иначе зачем тогда такой выбор моделей, если они умеют оценивать реальные разности потенциалов?
Attachment:
4000_xxV.gif
4000_xxV.gif [ 1.67 KiB | Viewed 4482 times ]

_________________
iLavr


11 Oct 2017 08:55
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.