Аппаратная часть→Функция Вебба
Почему бы не реализовать аппаратно функцию Вебба (Webb (x, y) = Inc(Max(x, y)), см. таблицу истинности на рисунке), которая является аналогом стрелки Пирса (ИЛИ-НЕ) в двоичной логике?
Ведь через нее можно реализовать любую другую троичную функцию. Например:
Inc(x) = Webb(x, x)
Dec(x) = Inc(Inc(x))
x + y = Inc(Inc(Webb(x, y))
Not(x) = Webb(Webb(Dec(x), Inc(x)), Inc(Webb(Dec(x), x)))
x * y = Not(Not(x) + Not(y))
Подскажите как ее реализовать аппаратно. Выгодно будет ли ее использовать?
Есть еще аналогичные функции: Dec(Max(x, y)) Inc(Min(x, y) Dec(Min(x, y))
К. Иван,
Мнения
001 Один из возможных путей аппаратной реализации - записать таблицу в ПЗУ, которое будет работать как дешифратор входных кодов состоящих из двух частей - строка+колонка.
Таблицы других аналогичных функций так же можно записать в ПЗУ.002 Нет. Вы меня не правильно поняли. При чем тут ПЗУ? - я говорю о элементарном логическом ключе, типа И-НЕ в двоичной логике. И должен состоять из транзисторов, резисторов - ну в общем как И-НЕ, только для троичной логики
003 На аппаратном уровне возможны, как минимум, три системы реализации трёхзначной логики: однопроводная (трёхуровневая), двухпроводная (двухуровневая) и трёхпроводная (двухуровневая). Аппаратные реализации функции Вебба и других трёхзначных функций в каждой из этих трёх систем будут значительно отличаться.
Вы привели таблицу с обозначениями для однопроводной (трёхуровневой) системы. Элементы и узлы трёхуровневой системы реализации трёхзначной логики были довольно полно разработаны в проекте Стива Грабба [http://www.trinary.cc/ Стив Грабб. Проект элементов и узлов троичного компьютера.] сайт которого исчез несколько месяцев тому назад. Точно не помню была там функция Вебба или нет, а посмотреть уже негде, никто не сделал копию этого сайта.
За однопроводную (трёхуровневую) и двухпроводную (двухуровневую) реализацию трёхзначной логики на этом сайте ратует Александр, который пока не высказал своего мнения по этой теме.
В трёхпроводной (двухуровневой) системе функцию Вебба и другие трёхзначные функции легче реализовать записав таблицу функции в ПЗУ. Вы же сами приводите таблицу функции Вебба, а не логическую формулу, потому что табличное задание функции легче.
Кроме этого, при аппаратной реализации функции Вебба на логических элементах, каждая логическая ступень будет давать единичную задержку, свойственную выбранной системе элементов, каждая обратная связь на одну ступень также будет прибавлять единичную задержку, а обратная связь на две ступени назад будет прибавлять двойную задержку. Аппаратная реализация функции Вебба и других трёзначных функций в виде таблицы в ПЗУ легче и создаёт меньшую задержку, т.е. обладает большим быстродействием.
И мы, когда производим операцию сложения в уме, не считаем каждый раз, а берём результат из запомненной таблицы сложения.004 А кстати, куда ни с того ни с сего исчез сайт trinary.cc? Проделки спецслужб?))
А нужен ли вообще будет этот элемент?
Если нет, то какие другие элементарные элементы будут нужны в троичной ЭВМ? (Ну там: или, и, сдвиг или еще какие-нибудь)
И да, хотелось бы услышать по поводу однопроводной реализации.005 Куда исчез сайт Стива Грабба trinary.cc и по какой причине мне не известно. Он как раз и разрабатывал однопроводную трёхуровневую реализацию, логически разработал довольно полно, но аппаратные затраты были огромными - один триггер строился на 33 транзисторах.
Вполне вероятно, что на каком то этапе развития понадобятся и элемент с функцией Вебба и другие трёхзначные элементы.
В настоящее время кроме программных реализаций существуют как минимум три направления аппаратной реализации троичных элементов и узлов: однопроводная (трёхуровневая), двухуровневая двухпроводная (двухбитная) и двухуровневая трёхпроводная (трёхбитная).
В однопроводной трёхуровневой системе уже построены 3-х тритный процессор на микросхемах малой степени интеграции http://www.flickr.com/photos/theyoungthousands/sets/72157605274828930/ Фотографии конструкции и осциллограмм трёхуровневой 3-х тритной троичной цифровой компьютерной системы. и 4-х термная микро эвм на одном кристалле http://www.inria.fr/rapportsactivite/RA2004/r2d22004/uid51.htmlTeam-R2D2 — французский институт, который выпустил первую полностью троичную логическую микросхему (64-term SRAM и 4-term сумматор) в 2004 г.
В двухбитной системе была построена "Сетунь" и "Сетунь-70". На современной элементной базе разработаны два триггера http://trinary.ru/discussions/72 Троичный триггер ТТДЛ22 и http://trinary.ru/discussions/46 Прототип троичного триггера на двоичной элементной базе. Макетов и проверки на стенде нет.
В трёхбитной системе разработано больше десятка триггеров и несколько регистров сдвига. Множество других элементов и узлов ещё не разработаны.006 Глядишь, почитают наши "изыски" на тему перспективной троичной техники известные люди, прикроют сайт и призовут к сотрудничеству по созданию этих передовых машин, за которыми, скорей всего, будущее
:-)
014 Попробуйте зайти на сайт через вебархив:
http://web.archive.org/*/trinary.cc015 Ссылка http://web.archive.org/*/trinary.cc работает.
В проекте Стива Грабба функции Вебба нет.
007 Элементы Вебба в однопроводной (трёхуровневой), двухпроводной (двухбитной) и трёхпроводной (трёхбитной) троичных системах.
008 Это итак понятно... А что у них внутри?
009 В простейшем случае ПЗУ с девятью ячейками памяти с одним троичным кодом в каждой ячейке.
В других случаях - логическая схема на логических элементах, базисных для выбранного вида микросхем.012 Схема бинарного троичного трёхбитного логического элемента состоящего из дешифратора "2 трёхбитных трита в 9 битов" и ПЗУ с диодной матрицей, выполняющего бинарную троичную функцию Вебба Webb(x,y).
Этот бинарный троичный трёхбитный логический элемент можно запрограммировать для выполнения любой из 729-27-3=699 бинарных троичных функций.016 Схема бинарного троичного трёхбитного логического элемента на логических элементах "2И", "5ИЛИ" и "3ИЛИ", выполняющего бинарную троичную функцию Вебба Webb(x,y).
025 На рисунке приведён снимок модели троичной бинарной (двухоперандной, двухтритной) функции Вебба в трёхбитной одноединичной системе логических элементов в логическом симуляторе Atanua http://sol.gfxile.net/atanua/
Логический элемент можно перепрограммировать для выполнения любой из 19683 бинарных троичных логических функций с унарным выходом.026 Файл с моделью троичной бинарной функции Вебба можно скачать со страницы http://andserkul.narod2.ru/elementi_i_uzli_troichnih_evm/
017 Троичная бинарная функция Вебба в троичной двухбитной без состояния (1,1) двухпроводной системе.
Инверторы на входах логических элементов "4И" объединены с элементами "4И".
Устройство состоит из дешифратора "2 двухбитных трита в 9 строк" и ПЗУ на диодной матрице 9х2.019 Троичная бинарная функция Вебба в троичной двухбитной без состояния (1,1) двухпроводной системе с ПЗУ 4х2 на диодной матрице (монтажное "ИЛИ") с уменьшенным числом инверторов.
Инверторы на входах элементов "4И" заменены на 4 инвертора и 4 инверсные линии.
018 Троичная бинарная функция Вебба в двухбитной без состояния (1,1) двухпроводной системе после замены ПЗУ на диодной матрице на логический элемент "3И" и удаления из дешифратора не работающих элементов и проводников.
020 Троичная бинарная функция Вебба в двухбитной без состояния (1,1) двухпроводной троичной системе с уменьшенным числом инверторов.
Инверторы на входах логических элементов "4И" заменены на 4 инвертора и 4 инверсные линии.
Для выравнивания задержек во входные прямые (не инверсные) линии и в выходную линию B0 нужно поставить повторители (буферы, логические элементы "ДА") с типовой задержкой.022 В третьем предложении должно быть:"... во входные прямые (не инверсные) линии после "развилок" и в ...".
027 Снимок модели троичной бинарной (двухоперандной, двухтритной) функции Вебба с двухбитными входами и выходом в логическом симуляторе Atanua http://sol.gfxile.net/atanua/
Файл с моделью в логическом симуляторе Atanua можно скачать со страницы http://andserkul.narod2.ru/elementi_i_uzli_troichnih_evm/
028 Снимок модели троичной бинарной функции Вебба с двухбитными входами и выходом с восстановлением трёхбитного одноединичного троичного кода в логическом симуляторе Atanua http://sol.gfxile.net/atanua/
Файл с моделью можно скачать со страницы http://andserkul.narod2.ru/elementi_i_uzli_troichnih_evm/
010 Оценить выгоду непросто, всё зависит от архитектуры системы.
Ведь как любое универсальное устройство имеет свои плюсы (универсальность) и минусы (избыточность).
Например, в операции * задействовано около 30 преобразований,
в то время когда эту операцию можно выполнить за одно.011 Все-таки я понял, что в будущем троичном компьютере нужно отказаться от этой функции, несмотря на ее универсальнсть, потому что реализация с помощью нее почти всех слишком громоздка (Как вы правильно заметили для x & y нужно достаточно много преобразований (по моим подсчетам пока минимум 19 лог. элементов функции Вебба), хотя в двоичной системе
Inc(x) = Not(x) = x | x
x * y = Not(x | y)
x + y = Not(Not(x) * Not(y)) = (x | x) | (y | y) - всего 3 И-НЕ )
023 На рисунке приведена схема однопроводного трёхуровневого бинарного (двухоперандного) троичного логического элемента с двумя однотритными операндами и одним однотритным выходом, выполняющего троичную бинарную функцию Вебба.
Входы и выход элемента - трёхуровневые, внутренние элементы - обычные двухуровневые двоичные.
На каждом из двух входов стоят аналогоцифровые преобразователи (АЦП) состоящие из двух компараторов и трёхрезисторного делителя напряжения, определяющего уровни переключения компараторов.
АЦП преобразуют входные напряжения в троичный унарнодвоичный код. Уровням логической -1 соответствует код (К1,К0)=(0,0), уровням логического 0 соответствует код (К1,К0)=(0,1),
уровням логической 1 соответствует код (К1,К0)=(1,1).
Для упрощения схемы дешифратора на выходе каждого компаратора стоят инверторы.
Дешифратор на девяти логических элементах "4И" преобразует троичный унарнодвоичный код в троичный девятибитный одноединичный код. ПЗУ 9х3 на диодной матрице преобразует троичный девятибитный одноединичный код в троичный трёхбитный одноединичный код в соответствии с таблицей истиности функции Вебба, который поступает на выходной каскад из трёх ключей.
Выходной каскад из трёх ключей преобразует трёхбитный одноединичный код в троичный трёхуровневый однопроводный код.
Этот логический элемент можно перепрограммировать для выполнения любой из 19 683 бинарных троичных логических функций перепрограммировав диодную матрицу в соответствии с таблицей истиности нужной бинарной троичной логической функции.
Добавив третий операнд и дешифратор на 27 строк можно построить элемент выполняющий любую из 7 625 597 484 887 тринарных троичных логических функций.
Удалив второй операнд и уменьшив дешифратор до 3-х строк можно построить элемент выполняющий любую из 27 унарных троичных логических функций.024 Для выравнивания задержек в прямые (не инверсные) выходные линии компараторов после развилки нужно вставить повторители (буферы, логические элементы "ДА").
Описанное в данной заметке устройство относится к троичным логическим функциям с унарными выходами, троичных логических элементов с n-арными выходами ещё больше.
