
Комментарии 64
Не сочтите за троллинг, но есть ли какие-нибудь реально целесообразные применения у итогового девайса на подобной схеме?
Прошло 20 лет, готовятся всё те же курсы, для таких же студентов.
Так что перспектива такая — лет через 20, какой-нибудь из восторженых текущей лекцией студентов снова будет готовить точно такую-же лекцию для следующей партии студентов.
Других применений я не предполагаю, ну ещё может несколько человек в порывах научного голода попробует какую-нибудь мигалку светодиодов собрать.
Но вообще для понимания состояний есть моделирование, это быстрее и эффективнее
Тут больше психологический эффект. Студентам просто интереснее, когда им показываешь живой работающий макет, а не софтинку на лабораторном компьютере.
если студенты разобрались с двоичными мультиплексорами, то зачем им еще забивать голову (некоторые просто зубрят не понимая) троичными? какой бонус? повторение — мать учения? какие практические применения у троичной логики? да даже если оно есть, не лучше ли потратить это время на изучение более универсальных FPGA, OpenCL, что уж точно не будет лишним в их будущем?
а если они не разобрались с двоичными, то нахера усложнять троичными?
На любые вопросы из разряда «зачем?!» я отвечаю заранее: «Because I can».
ощущение, что вы для себя "for fun" создали троичные хреньки, а теперь нескольким потокам (не на один ведь год) будете втюхивать с гордостью свою работу студентам. хорошо, когда твоя работа не пропала даром? но нужно ли "забивать" этим студентов? cui bono?
в моем комменте дело было не в "кому преподавать?", а "что преподавать?"
я ведь не знаю всех нюансов:
- можно троичные мультиплексоры подать за одну пару, а можно растянуть на полсеметра. во втором случае резонный вопрос: может заменить на что-то более полезное для будущих спецов?
- и если автор говорит, что "оно студентам НАДО", у меня вообще нет вопросов
1. В университете (даже на специальности информатика) преподают не только OpenCL, но и литературу, философию и физическую культуру. Поэтому утверждение «лучше бы» неуместно без контекста, который вы не знаете.
2. В университете уместно преподавать не только будущее технологий, но также и прошлое, развивая кругозор и создавая полную картину окружающей среды. Да, я планирую сделать расширение памяти для ATMEL AVR на ферритовых кольцах и опять-таки показать его студентам.
3. Большинство моих студентов никогда в жизни не задавалось вопросом, есть ли жизнь за пределами двоичной системы. Просто даже не подозревают, что можно делать иначе.
4. Вы сильно недооцениваете «for fun». Приносить развлечение и элемент игры в курс лекций я просто обязан, иначе никто меня реально слушать не будет.
Нам в техникуме преподавали полностью всю железную часть с проектированием.
Слышали о двоичных системах, троичных, 17ричных, 13 ричных (в институте максимум двоичная, 8 и 16 были)
Память на ферритовых кольцах — вообще отдельная тема. Мало кто из ныне живущих специалистов слышал о ней, а видели еще меньше. (мне 30 лет)
Так что много от преподавателя зависит, а не от места обучения.
Большинство моих студентов никогда в жизни не задавалось вопросом, есть ли жизнь за пределами двоичной системы. Просто даже не подозревают, что можно делать иначе.
Мои ровесники на работе не имеют даже минимальных знаний и представления о троичной с.с. У нас в универе рассказывали о ней, но практики не было. В принципе, если учебное время позволяет, то почему бы и нет.
Сил, терпения и быть может мозгов не хватило. Пока отложил до лучших времен.
- Большинство моих студентов никогда в жизни не задавалось вопросом, есть ли жизнь за пределами двоичной системы. Просто даже не подозревают, что можно делать иначе.
А доводится ли до конца этот методический пример по обучению самостоятельному мышлению? — т. е. даются ли студентам самостоятельные задания или рефераты на тему "провести расследования и выяснить — почему троичная система пока не вышла за рамки лабораторий" (тут правильный ответ нужно будет искать вообще вне этой системы — кто сумел выйти из рамок — тот и умеет мыслить самостоятельно).
...(некоторые просто зубрят не понимая)...
Когда в инсте на Каширке учился, была байка, что «такие инженеры стране не нужны» :)
Как упражнение для ума — сойдет, но в получившейся "железной" схеме явно избыточное число элементов. Все мультиплексоры, принимающие на вход константы, наверняка можно было бы сделать проще.
42_10=(81-27-9-3)_10 = (+1;-1;-1;-1;0)_3
-42_10 = (-1;+1;+1;+1;0)_3
сколько знаю, в основе числа от 0 до (base-1). // двоичная, восьмиричная, десятичная, шестнадцатиричная и прочие.
Очень необычно и очень смущает.
Как в троичной логике реализовать числа, у которых будет одинаковое число знаков после запятой вне зависимости от порядка?
А в чём Вы видите трудность? Отрицательных нулей не появится, так же, как и не потребуется дополнительный код (вообще).
Вообще-то в двоичной арифметике всё и так считается в обе стороны, просто это арифметика по модулю 2^[количество_бит_на_число]. Вся фигня с дополнительным кодом — иллюзия для белковых субъектов, которым понадобилось вывести на печать вычет.
На самом деле нет: если предположить 8-битную арифметику, то
- для беззнаковых чисел: 128 × 2 = 256 = 1'0
- для знаковых чисел: 128 × 2 = -256 = 255'0
Что такое 1'0 и 255'0, а также почему у вас 128 × 2 = -256?
Вообще-то, в 8-битной арифметике 128 × 2 = 0 независимо от знаковости умножения.
А, вы наверное про операции mul и imul, которые перемножают два числа и возвращают число удвоенной разрядности.
Так вот — в большинстве ЯП нет способа получить старшую часть результата этой операции без хитрых обходных путей (вызовов внешних функций или интринсиков). А для младшего разряда утверждение о том, что это всего лишь операция в кольце вычетов выполняется (в обоих случаях получен корректный 0).
А всяческие обходные пути с получением старшей части числа используются, за редкими исключениями, лишь для реализации арифметики повышенной разрядности. Для которой, если ее разрядность ограничена, продолжает выполняться это условие.
Я выбрал сбалансированную троичную систему, в которой один трит может представлять одно из трёх значений -1, 0 или 1. Весьма подробно о ней можно почитать тут.
Кроме «нативности» отрицательных чисел, есть ещё и «нативность» неопределённого значения.
Есть по основанию фи.
Есть на основе чисел Фибоначчи. Много их.
Если я не ошибаюсь, то даже есть пример реализации операционной системы для троичного компьютера.
Поскольку хорошего троичного элемента так и не сделали, проект умер естественной смертью.
И по поводу троичной системы вообще — личо мне кажется, что главная проблема тут в третьем значении, в предложеной автором реализации, например, будет крайне сложно отличить настоящий ноль от короткого замыкания плюс и минут единицы.
надежность её и погубила, заводам просто было не выгодно производить Сетунь
Да в СССР хозрасчета в те годы не было, у заводов с этим было проще, исходили из заявок и госплана. Скорее, заказчики осторожничали с машинами непривычной конструкции.
А насчет уровня — речь не о вентиле, который любой уровень воспримет как ноль или единицу, а про человека с тестером или с индикатором — вот там то мы можем увидеть разницу в напряжении при закоротке в двоичной логике, а в троичной в данной реализации это весьма затрудненно.
Основная проблема — большая разница напряжений между крайними значениями.
Более эффективно передавать троичное значение по трем проводам (на двух низкое, на одном высокое напряжение). Это соотносится с передачей двоичного значения по дифференциальной паре, которое достаточно широко используется. При этом сохраняется помехозащищенность двоичного кодирования, сокращается количество аппаратуры и глубина схем (за счет троичной системы) и сокращается энергопотребление, так как на каждом такте надо перезарядить меньшее количество линий.
Еще такое кодирование хорошо для реализации асинхронной логики (неготовое значение кодируется низким уровнем на всех линиях).
Плюс — можно использовать стандартные элементы.
Иллюстрации схем и понятные технические решения очень хороши. Успехов в популяризации и обучение свежих светлых голов!
Пробежал по комментам, поискал на всякий случай ссылку и не нашёл, так что добавлю — загляните на trinary.ru, лет наверное пять назад для себя открыл. До сих пор помню, уникальная инфа и люди.
«Троичные» часы вообще вещь, которая должна быть у любого сурового программера :)
И по схемотехнике ребята помнится там тоже решали вопросы, может быть полезно.
Эти часы http://trinary.ru/projects/sinchron/?
А в чём они троичные? Синусоида и есть синусоида.

Считаем до трёх