Девятиричный симметричный полусумматор на ПЗУ с обычным двоичным кодированием нонитовОбычное двоичное кодирование нонитов позволяет более плотно упаковывать таблицу истинности девятиричного симметричного полусумматора в ПЗУ 2708.
Результат так же получается с обычным двоичным кодированием нонитов, что облегчает каскадирование полусумматоров.
Таблицы соответствий:
Снимок модели в
симуляторе логических схем Atanua/Win32 1.0.081116 - Personal Edition:
Девятиричные девятибитные одноединичные 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:
Программа на 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 обычно 00000400
16), вместо ранее записанной информации.
Девятиричный симметричный полусумматор занимает
256 ячеек по 1 байту из 1024 ячеек по 1 байту в ПЗУ 2708. Из-за двоичной организации ПЗУ 2708 из занимаемых 256-ти ячеек только 9^2=81 ячейка является девятиричным симметричным полусумматором. При троичной организации ПЗУ
с троичной адресацией (с дешифратором троичного адреса) пустых ячеек небыло бы.
Приложение:
Девятиричный симметричный полусумматор в виде двух квадратных таблиц размером n^2=n*n=9*9=81 ячейка:
таблицы нонитов текущего младшего значащего разряда:
и таблицы тритов переноса в следующий старший значащий разряд:
Перенос по модулю не бывает больше 1. Ненулевой перенос возникает в
(n^2-1)/4=(9^2-1)/4=(81-1)/4=20-ти случаях из n^2=9^2=81-го (приблизительно в 24,7% случаев).