nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 12:07



Reply to topic  [ 67 posts ]  Go to page Previous  1, 2, 3, 4, 5
Эксперименты с симулятором Atanua от Андрея Куликова 
Author Message
Doomed
User avatar

Joined: 27 Jul 2018 12:07
Posts: 608
Reply with quote
...если Вы пишете: нонит в обычном двоичном коде, возникает вопрос а какой необычный двоичный код?


Attachments:
TS34.jpg
TS34.jpg [ 11.67 KiB | Viewed 4006 times ]
06 Jan 2019 10:22
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Девятиричный симметричный полусумматор на ПЗУ с обычным двоичным кодированием нонитов

Обычное двоичное кодирование нонитов позволяет более плотно упаковывать таблицу истинности девятиричного симметричного полусумматора в ПЗУ 2708.

Результат так же получается с обычным двоичным кодированием нонитов, что облегчает каскадирование полусумматоров.

Таблицы соответствий:
Code:
  +4   +3   +2   +1    0   -1   -2   -3   -4  Симметричный нонит 
   8    7    6    5    4    3    2    1    0  Симметричный нонит в девятиричном несимметричном коде
1000 0111 0110 0101 0100 0011 0010 0001 0000  Симметричный нонит в девятиричном несимметричном коде в обычном двоичном коде


Code:
  +1    0   -1  Симметричный трит переноса
   2    1    0  Симметричный трит переноса в троичном несимметричном коде
0010 0001 0000  Симметричный трит переноса в троичном несимметричном коде в обычном двоичном коде


Снимок модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
NonaryHalfAdderSymmetricROM.JPG
NonaryHalfAdderSymmetricROM.JPG [ 75.63 KiB | Viewed 3989 times ]

Девятиричные девятибитные одноединичные 9S-триггеры служат для ввода нонитов и частью схемы собственно девятиричного симметричного полусумматора на ПЗУ не являются.

Конверторы нонитов на выходе девятиричных девятибитных одноединичных 9S-триггеров преобразуют девятибитные одноединичные нониты в нониты в обычном двоичном коде и частью схемы собственно девятиричного симметричного полусумматора на ПЗУ тоже не являются.

Так как девятиричный симметричный полусумматор за один проход складывает два нонита, а не два трита, как в троичном симметричном полусумматоре эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова, то теоретикологикоматематически девятиричный симметричный полусумматор в ln9/ln3=2 раза быстрее троичного симметричного полусумматора эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова.

Время суммирования двух нонитов:
1. при двухступенчатом дешифраторе в ПЗУ равно 3*dt (2*dt в дешифраторе и 1*dt в шифраторе),
2. при одноступенчатом дешифраторе в ПЗУ - 2*dt (1*dt в дешифраторе и 1*dt в шифраторе), где dt - время задержки в одном типовом логическом элементе.

Один нонит умещается в один полубайт. Два нонита умещаются в один байт. Результат (нонит суммы по модулю и трит переноса) занимает 6 битов и тоже умещаются в один байт. Поэтому девятиричный симметричный полусумматор с обычным двоичным кодированием нонитов и тритов очень просто сопрягается с обычными двоичными компьютерами и контроллерами, но при этом на 15% уменьшается быстродействие, по сравнению с троичными компьютерами и троичными контроллерами работающими в троичной трёхбитной системе троичных логических элементов.

Код модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
NonaryHalfAdderSymmetricROM.rar [15.21 KiB]
Downloaded 288 times

Программа на TurboBasic'е вычисления значений нонитов сумм по модулю 9 в обычном двоичном коде и значений битов переноса в девятиричном симметричном полусумматоре для записи в ПЗУ 2708:
Code:
CLS
COLOR 10,0

DIM Nonal$(8)
DATA "0","1","2","3","4","5","6","7","8"
FOR I%=0 TO 8
  READ Nonal$(I%)
NEXT I%

DIM F2NNS%(15,15,1),F2NNC%(15,15,1)

OPEN "2708.TXT" FOR OUTPUT AS # 1
OPEN "2708.BIN" FOR OUTPUT AS # 2

FOR K%=0 TO 0
  FOR J%=0 TO 15
    FOR I%=0 TO 15
      F2NNC%(I%,J%,K%)=(I%+J%+K%+5) \ 9
      IF I%>8 OR J%>8 THEN F2NNC%(I%,J%,K%)=0
      F2NNS%(I%,J%,K%)=(I%+J%+K%+5) MOD 9
      IF I%>8 OR J%>8 THEN F2NNS%(I%,J%,K%)=0
      PRINT Nonal$(F2NNC%(I%,J%,K%));
      PRINT Nonal$(F2NNS%(I%,J%,K%));
      PRINT #1,Nonal$(F2NNC%(I%,J%,K%));
      PRINT #1,Nonal$(F2NNS%(I%,J%,K%));
      F2NNCS%=F2NNC%(I%,J%,K%)*16+F2NNS%(I%,J%,K%)
      'PRINT CHR$(F2NNCS%+&H30);
      PRINT #2,CHR$(F2NNCS%);
    NEXT I%
    PRINT
  NEXT J%
NEXT K%

CLOSE # 1
CLOSE # 2

END

Программа создаёт два файла с таблицами полусумматора: 2708.BIN и 2708.TXT.
Записать таблицу истинности девятиричного несимметричного полусумматора с кодированием нонитов в обычном двоичном коде в ПЗУ 2708 можно двумя способами:

1. Штатный способ.
В симулятор Atanua загружается модель полусумматора. Курсор наводится на ПЗУ 2708 и после клика на чипе левой кнопкой мыши с клавиатуры вводится буква "L". В появившемся окне выбирается файл 2708.BIN и на нём делается клик левой кнопкой мыши.

2. Нештатный способ.
Код модели открывается в редакторе текстов WordPad. Находится строка с описанием чипа 2708. Файл 2708.TXT открывается в Блокноте, содержимое копируется и записывается в код модели в строку с описанием содержимого чипа 2708 после 8-ми первых знаков, определяющих начальный и конечный адрес ячеек ПЗУ (для ПЗУ 2708 обычно 0000040016), вместо ранее записанной информации.

Девятиричный симметричный полусумматор занимает 256 ячеек по 1 байту из 1024 ячеек по 1 байту в ПЗУ 2708. Из-за двоичной организации ПЗУ 2708 из занимаемых 256-ти ячеек только 9^2=81 ячейка является девятиричным симметричным полусумматором. При троичной организации ПЗУ с троичной адресацией (с дешифратором троичного адреса) пустых ячеек небыло бы.

Приложение:
Девятиричный симметричный полусумматор в виде двух квадратных таблиц размером n^2=n*n=9*9=81 ячейка:
таблицы нонитов текущего младшего значащего разряда:
Code:
 
               y
               ^
               |
   0  1  2  3  4 -4 -3 -2 -1
  -1  0  1  2  3  4 -4 -3 -1
  -2 -1  0  1  2  3  4 -4 -3
  -3 -2 -1  0  1  2  3  4 -4
 --4 -3 -2 -1  0  1  2  3  4 -> x
   4 -4 -3 -2 -1  0  1  2  3
   3  4 -4 -3 -2 -1  0  1  2
   2  3  4 -4 -3 -2 -1  0  1
   1  2  3  4 -4 -3 -2 -1  0
               |

и таблицы тритов переноса в следующий старший значащий разряд:
Code:
 
               y
               ^
               |
   0  0  0  0  0  1  1  1  1
   0  0  0  0  0  0  1  1  1
   0  0  0  0  0  0  0  1  1
   0  0  0  0  0  0  0  0  1
 - 0  0  0  0  0  0  0  0  0 -> x
  -1  0  0  0  0  0  0  0  0
  -1 -1  0  0  0  0  0  0  0
  -1 -1 -1  0  0  0  0  0  0
  -1 -1 -1 -1  0  0  0  0  0
               |

Перенос по модулю не бывает больше 1. Ненулевой перенос возникает в
(n^2-1)/4=(9^2-1)/4=(81-1)/4=20-ти случаях из n^2=9^2=81-го (приблизительно в 24,7% случаев).


Last edited by AndrejKulikov on 09 Jan 2019 07:58, edited 1 time in total.



07 Jan 2019 05:47
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Девятиричный симметричный полный сумматор на ПЗУ с обычным двоичным кодированием нонитов

Таблицы соответствий:
Code:
  +4   +3   +2   +1    0   -1   -2   -3   -4  Симметричный нонит 
   8    7    6    5    4    3    2    1    0  Симметричный нонит в девятиричном несимметричном коде
1000 0111 0110 0101 0100 0011 0010 0001 0000  Симметричный нонит в девятиричном несимметричном коде в обычном двоичном коде


Code:
  +1    0   -1  Симметричный трит переноса
   2    1    0  Симметричный трит переноса в троичном несимметричном коде
0010 0001 0000  Симметричный трит переноса в троичном несимметричном коде в обычном двоичном коде

Рис.1. Снимок модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
NonaryFullAdderSymmetricROM.JPG
NonaryFullAdderSymmetricROM.JPG [ 78.25 KiB | Viewed 3918 times ]

40
Девятиричные девятибитные одноединичные 9S-триггеры служат для ввода нонитов и частью схемы собственно девятиричного симметричного полного (трёхоперандного, трёхаргументного) сумматора на ПЗУ не являются.

Конверторы нонитов на выходе девятиричных девятибитных одноединичных 9S-триггеров преобразуют девятибитные одноединичные нониты в нониты в обычном двоичном коде и частью схемы собственно девятиричного симметричного полного (трёхоперандного, трёхаргументного) сумматора на ПЗУ тоже не являются.

Девятиричный сумматор является одной из 9^((9^3)*2)≈8,85*10^(1391) тринарных (трёхоперендных, трёхаргументных) девятиричных логических функций с бинарным выходом, что на много-много порядков больше, чем все большие числа Дирака вместе взятые.

Время суммирования двух нонитов:
1. при двухступенчатом дешифраторе в ПЗУ равно 3*dt (2*dt в дешифраторе и 1*dt в шифраторе),
2. при одноступенчатом дешифраторе в ПЗУ - 2*dt (1*dt в дешифраторе и 1*dt в шифраторе), где dt - время задержки в одном типовом логическом элементе.

По длине операндов сумматор подобен ln9/ln2≈3,17-битному двоичному сумматору.

Так как девятиричный симметричный полный сумматор производит полное тринарное (трёхоперандное, трёхаргументное) сложение (складывает два нонита и трит переноса) за один проход, а не два трита и трит переноса за два последовательных прохода, как в троичном симметричном полусумматоре эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова, то теоретикологикоматематически девятиричный симметричный полный сумматор, как минимум, в 2*ln9/ln3=4 раза быстрее троичного симметричного полусумматора эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова.

При каскадном последовательном включении N девятиричных симметричных полных сумматоров теоретикологикоматематическое быстродействие последовательного девятиричного симметричного сумматора будет, как минимум, в 4*N раз больше, чем троичного симметричного полусумматора эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова.

Рис.2. Количество переносов в несимметричных и в симметричных полных (трёхоперандных, трёхаргументных) сумматорах:
Attachment:
Carry.JPG
Carry.JPG [ 25.13 KiB | Viewed 3958 times ]

Из-за большего основания системы счисления (9 вместо 4) девятиричный симметричный сумматор в ln9/ln4≈1,58 раз быстрее и четырёхбитных одноединичных (4-Bit UnoUnary BinaryCodedQuadro, 4B UU BCQ) квадросумматоров команды из МИФИ под руководством Хетагурова. Кроме этого, симметричность, ещё больше увеличивает быстродействие полного нонасумматора (количество переносов в симметричных полных сумматорах почти в два раза меньше, чем в несимметричных полных сумматорах, (около 25% вместо 50%)).

Время суммирования в полном сумматоре Когге-Стоуна теоретически эквивалентном N-разрядному девятиричному на ПЗУ (N*2*dt) без учёта переносов (а переносы в сумматоре Когге-Стоуна, как и в других чётных и нечётных несимметричных сумматорах, возникают в 50% случаев) равно:
ts=2*(log2(N*n)+1)*dt=2*(log2(N*9)+1)*dt.
Code:
Число              Время сложения в             Время сложения в   
нонаразрядов   девятиричном сумматоре    сумматоре Когге-Стоуна
1                      2*dt                        8,34*dt
2                      4*dt                       10,34*dt
3                      6*dt                       11,51*dt
4                      8*dt                       12,34*dt
5                     10*dt                       12,98*dt
6                     12*dt                       13,51*dt
7                     14*dt                       13,95*dt
8                     16*dt                       14,34*dt

Т.е. сумматор Когге-Стоуна "обгоняет" девятиричный несимметричный сумматор только при числе разрядов равном и большим эквивалентным 8-ми девятиричным разрядам (8*ln9/ln2≈25,36-битов). Но в нечётном симметричном девятиричном полном сумматоре переносов почти вдвое меньше (около 25%), чем в чётном несимметричном сумматоре Когге-Стоуна (50%) и для "обгона" сумматору" Когге-Стоуна потребуется ещё больше эквивалентных двоичных разрядов, а с увеличением разрядности аппаратные затраты и стоимость разряда в сумматоре Когге-Стоуна увеличиваются очень сильно.

Код модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
NonaryFullAdderSymmetricROM.rar [16.32 KiB]
Downloaded 289 times


Last edited by AndrejKulikov on 09 Jan 2019 09:41, edited 8 times in total.



08 Jan 2019 04:06
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Конвертор трёхтритных гептакозанитов в пятибитные гептакозаниты

Рис.1. Снимок модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
GeptaCozanaryConvertor3Trit-5Bit.JPG
GeptaCozanaryConvertor3Trit-5Bit.JPG [ 97.8 KiB | Viewed 3917 times ]

32
Код модели (версия 09.01.2019) в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:


Attachments:
GeptaCozanaryConvertor3Trit-5Bit.rar [7.01 KiB]
Downloaded 283 times


Last edited by AndrejKulikov on 09 Jan 2019 10:14, edited 3 times in total.

08 Jan 2019 13:54
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Скачавшему код модели с ошибкой GeptaCozanaryConvertor3Trit-5Bit.JPG из топика:
Конвертор трёхтритных гептакозанитов в пятибитные гептакозаниты
настоятельно рекомендуется обновить версию модели до 09.01.2019.


09 Jan 2019 08:55
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Двадцатисемиричный симметричный полный сумматор с кодированием гептакозанитов в обычном двоичном коде на ПЗУ 2732

Рис.1. Снимок модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
GeptaCozanaryFullAdderSymmetricROM.JPG
GeptaCozanaryFullAdderSymmetricROM.JPG [ 88.21 KiB | Viewed 3914 times ]

Так как двадцатисемиричный симметричный полный (трёхоперандный, трёхаргументный) сумматор за один проход складывает два гептакозанита и трит переноса, а не два трита за два прохода, как в одноразрядном троичном симметричном полусумматоре эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова, то двадцатисемиричный симметричный полный (трёхоперандный, трёхаргументный) сумматор теоретикологикоматематически в 2*ln27/ln3=2*3=6 раз быстрее одноразрядного троичного симметричного полусумматора эвм "Сетунь" и "Сетунь-70" Соболева и Брусенцова.

Рис.2. Количество переносов в несимметричных и в симметричных полных (трёхоперандных, трёхаргументных) сумматорах:
Attachment:
Carry.JPG
Carry.JPG [ 29.63 KiB | Viewed 3912 times ]

Из-за большего основания системы счисления (27 вместо 4) двадцатисемиричный симметричный полный сумматор в ln27/ln4≈2,38 раза быстрее и четырёхбитных одноединичных (4-Bit UnoUnary BinaryCodedQuadro, 4B UU BCQ) квадросумматоров команды из МИФИ под руководством Хетагурова. Кроме этого, симметричность, ещё больше увеличивает быстродействие полного гептакозанарного сумматора (количество переносов в симметричных полных сумматорах почти в два раза меньше, чем в несимметричных полных сумматорах, (около 25% вместо 50%)).

Код модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
GeptaCozanaryFullAdderSymmetricROM.rar [14.51 KiB]
Downloaded 287 times


09 Jan 2019 11:01
Profile
Banned

Joined: 07 Mar 2018 23:17
Posts: 315
Location: Россия, Москва
Reply with quote
Девятиричный симметричный полный сумматор на ПЗУ с обычным двоичным кодированием нонитов, вариант для обычных двоичных контроллеров и обычных двоичных компьютеров

Девятиричный симметричный полный сумматор на ПЗУ с обычным двоичным кодированием нонитов очень просто сопрягается с обычными двоичными контроллерами и компьютерами. Для сопряжения понадобятся: 10-ть разрядов обычных двоичных регистров и программа перевода обычных двоичных чисел в девятиричные числа и перекодировка их в четырёхбитные симметричные девятиричные числа в девятиричном несимметричном коде в обычном двоичном коде по нижеприведённым таблицам.

Таблицы соответствий:
Code:
  +4   +3   +2   +1    0   -1   -2   -3   -4  Симметричный нонит 
   8    7    6    5    4    3    2    1    0  Симметричный нонит в девятиричном несимметричном коде
1000 0111 0110 0101 0100 0011 0010 0001 0000  Симметричный нонит в девятиричном несимметричном коде в обычном двоичном коде


Code:
  +1    0   -1  Симметричный трит переноса
   2    1    0  Симметричный трит переноса в троичном несимметричном коде
0010 0001 0000  Симметричный трит переноса в троичном несимметричном коде в обычном двоичном коде


Рис.1. Снимок модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
NonaryFullAdderSymmetricROMBin.JPG
NonaryFullAdderSymmetricROMBin.JPG [ 75.94 KiB | Viewed 3902 times ]

На снимке: двум нулевым нонитам и нулевому триту переноса индицируемым в несимметричных системах соответствует симметричная сумма "-4"+"-4"+"-1"="-9", т.е. несимметричные соответствия симметричным "0"="-9" в трите переноса и "4"="0" в ноните суммы по модулю 9.

Двоичные RS-триггеры на входах с автоматической установкой в 0 при включении служат для ввода битов и частью схемы собственно девятиричного симметричного полного сумматора не являются.
Семисегментные светодиодные индикаторы с двоичным декодером 309 и светодиоды служат для индикации и частью схемы собственно девятиричного симметричного полного сумматора тоже не являются.

Время полного суммирования двух нонитов, при одноступенчатом дешифраторе в ПЗУ, равно 2*dt (1*dt в дешифраторе и 1*dt в шифраторе), где dt - время задержки в одном типовом логическом элементе.

По длине операндов сумматор подобен ln9/ln2≈3,17-битному двоичному сумматору.

Код модели в симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Attachment:
NonaryFullAdderSymmetricROMBin.rar [4.5 KiB]
Downloaded 295 times


09 Jan 2019 16:02
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 67 posts ]  Go to page Previous  1, 2, 3, 4, 5

Who is online

Users browsing this forum: No registered users and 13 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.