Архитектура компьютераБудет ли создан троичный компьютер?

В настоящее время "железных" троичных компьютеров нет.

Широко известны только две "железные"(по определению) современные реализации троичных компьютерных систем, это проект троичной компьютерной архитектуры "TCA2" команды Jeff Connelly (http://jeff.tk:81/wiki/Trinary) и личный проект Shaos симулятор троичного компьютера на двоичном микроконтроллере "3niti alpha simu1"(http://ternary.info).

Работа команды Jeff Connelly состяла из двух главных направлений: во первых создание трёхуровневых троичных логических элементов с использованием транзисторных КМОП-структур входящих в некоторые микросхемы из серии CD40хх, а во вторых уже на базе разработанных логических элементов создание некоторой компьютерной системы. Естественно , что большая сложность решения первой задачи влияла на ход выполнения второй. Ознакомившись с электрическими схемами,трассировкой печатных плат, опубликованными фото, становится понятно, что "TCA2" это очень большое и сложное электронное устройство. Но если попытаться охарактеризовать "TCA2" по каким-то параметрам процессорных возможностей, как то объём выполняемого кода, максимальная длина программ и т.п., то надо согласиться , что "TCA2" как компьютерная система уж очень прост.
Проект был закончен в 2008 году, были некоторые упоминания о следующей "TCA3",
наверное предполагалось какое-то продолжение,но пока подробностей нет.

У "3niti alpha simu1" проект Shaos всё с точностью до наоборот.. Сам по себе симулятор
в плане архитектуры предоставляет больше возможностей, относительно небольшие материальные затраты на покупку комплектующих, плюс пара свободных вечеров потраченных на сборку и отладку устройства, и вперёд - юзать троичность! Есть правда
один момент. Как следует уже из названия это не "настоящий" троичный процессор, а
аппаратно-программный симулятор на двоичном микроконтроллере. Некоторых это может
смущать. Но сомнения эти ложные. Вопросы "настоящности" или "истинности" имеют
даже не философский характер, а психологический. Некоторой условной программе, основанной на троичном коде безразлично на чём она выполняется —
на "честном железном" троичном процессоре или на его достаточно точном симуляторе.
Главное что бы "правила игры" соблюдались. При всём прочем, применение
аппаратно-программных симуляторов даёт многие неоспоримые преимущества.
Исправление ошибок эмулируемой архитектуры, развитие конфигурации, добавление
новых внутренних блоков устройств, редактирование системы команд и т.п. возможно путем простой перепрошивки программной части симулятора. Конечно программирование это вовсе не лёгкая работа,
но всё же это не так будет затратно и по времени и материально, как "железные" переделки в системе состоящей из нескольких печатных плат по несколько десятков микросхем на каждой, а то и вовсе разработка и изготовление нескольких новых.

Выводы (конечно это личное мнение, естественно его можно и оспорить) :
"3niti alpha simu1" для программистов более интересен, чем "TCA2",
также гораздо более дешёв
коммерческое распространение предполагает массовость

Вопрос : можно ли к симулятору "3niti alpha simu1" добавить простые, но всё-же "железные" клавиатуру и видеосистему , чтобы говорить о возможности создания на базе проекта Shaos формально первого троичного компьютера в этом тысячелетии?

rvnick,

Мнения

  • 001kvas

    1) Чтобы троичный компьютер был создан и мог при разумной цене иметь более-менее приличную вычислительную мощность, нужно чтобы он базировался на массово доступных компонентах, которые в наше время сплошь двоичные. Проект "3niti alpha simu1" это доказывает со всей очевидностью.

    2) Чтобы это вышло за рамки "игрушки для энтузиастов" нужно и подойти к делу серьёзнее. Т.е. изначально разрабатывать архитектуру и прочее, совместно с их двоичной реализацией. Придумывать процессор, который двоичными элементами мог бы выполнять троичные команды и обрабатывать троичные данные, шину, которая двоичными элементами могла бы передавать троичные данные (скорее всего в двухпроводной реализации трита), контроллер памяти, который мог бы в стандартных двоичных модулях памяти (я-бы взял FB-DIMM, но не суть важно) хранить троичные данные. А потом добиться того, чтобы всё это работало совместно.

    3) Чтобы это осталось законно доступным для всех желающих повторить, нужно с самого начала озаботиться и юридической стороной дела, а то будет несколько обидно, если разработанное устройство будет чьими-то патентами ограждено от свободного доступа к его исходникам. Особенно паршиво, если запатентовать догадается не тот, кто разрабатывал.

    • 007rvnick

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

      • 008Бармалейкин

        Лично мне относительно неважна производительность троичной машины. В свое время меня вполне устраивали РК-86, БК-0010, а впоследствии отечественные клоны Спектрума. Главное на мой взгляд - это отдельное устройство, с которым можно взаимодействовать с помощью клавиатуры, получать от него результат на экране монитора и сохранять-загружать данные.

        Численность известных мне людей так или иначе заинтересованных в создании и развитии троичной техники составляет около сотни человек, так что объединив усилия можно получить некий результат достаточно быстро и с высоким качеством. А для фиксирования результатов обсуждений нами был задуман непериодический печатный журнал, дело только за достойным материалом.

        • 009rvnick

          Получается такая концепция:
          Троичный компьютер собранный на двоичных логических элементах и по «мощности»
          сравнимый с первыми 8-ми битными бытовыми компьютерами.
          Учитывая что многое, если не всё придётся делать своими руками, можно наверное
          охарактеризовать как разумный баланс между затраченными усилиями и достигаемыми
          результатами.

          • 011kvas

            Может взять за основу "Сетунь-70" и слегка осовременить для воплощения в железе? Ну там магнитный барабан заменить на что-то менее старомодное, перфоленты убрать, контроллер стандартной двоичной памяти добавить, контроллер последовательного порта сделать. Думаю на USB пока рановато замахиваться, а вот читалка mini-SD не помешала бы.

            • 012rvnick

              Вторая концепция:
              Троичный компьютер собранный на двоичных логических элементах и основанный на архитектуре " Сетунь - 70 "

              • 013kvas

                Я-бы не разделял эти идеи на две концепции, а подумал над их объединением. Не логическое "или", а логическое "и" :)

                • 014rvnick

                  Объединить будет не так уж и сложно. Первое мнение касается "комфортности"
                  работы за компьютером,наличие клавиатуры и дисплея. Второе подразумевает условие
                  - архитектура "Сетунь-70"
                  Мне нравится и первое, и второе мнение."Сетунь-70" с клавиатурой и дисплеем, типа
                  настольный desktop, с возможностью обмениваться программами.
                  У меня лично нет особенной концепции. Главное постараться, чтобы всё это достигалось
                  как можно меньшими затратами, как материальными,так и усилиями потраченными на разработку и изготовление.
                  В этом направлении я бы максимально постарался.

                  • 020rvnick

                    Мнений немного, можно порассуждать пока на тему разрядности.
                    Как известно "Сетунь-70" машина 6-ти разрядная. Для предоставления такой разрядности
                    при BCT — кодировании, необходимо 12 физических двоичных разрядов.
                    Появляются первые проблемы которые необходимо преодолевать.
                    Подавляющее большинство массовых и недорогих микросхем ОЗУ и ПЗУ сплошь 8-ми разрядные
                    что явно недостаточно. Выход из этой ситуации ставить по две микросхемы памяти параллельно. Из получившихся
                    16-ти разрядов, 12-ть могут быть использованы для непосредственной записи и хранения
                    6-ти разрядного троичного слова в BCT-коде. Остаются ещё четыре двоичных разряда.
                    (или два троичных, если подразумевать BCT-кодировку).Как поступить с ними?
                    1) в случае микросхем ПЗУ не использовать. оставить как есть.
                    2)в случае микросхем ОЗУ, использовать лишние разряды для ECC (код коррекции ошибок) .
                    Естественно, что над троичным ECC тоже придётся попотеть.

                    • 021kvas

                      1) BCT-кодирование может быть не только "1в2", но и "5в8", что уже в одном байте 5 тритов позволит разместить, а можно и "6в10" сделать, вопрос только в дешифраторе (да хоть на той же ПЗУ), а уж 6 остающихся битов из 16 явно не проблема найти куда использовать
                      2) использовать BCT-кодирование "1в2" без дешифратора данных вроде и выгоднее, но тогда в случае 8-ми разрядной памяти потребуется не 4 корпуса а 16, так что первоначальная простота выходит боком
                      3) а дешифратор адреса так или иначе делать, разве нет?
                      4) если только копировать архитектуру Сетунь-70, не расширяя адресного пространства, маловато адресов получается, сравнимости с 8-ми битными не выходит (я бы количество памяти в "сравнимых 8-ми битных" предполагал от 64Кб до 256Кб, а мощность процессора где-то в районе Z80 или U880)
                      5) всё вышесказанное наводит на мысль, что потребуется либо брать 16-ти разрядную память, либо брать DIMM и делать к нему контроллер

                      • 022rvnick

                        Насчёт ОЗУ я поторопился делать некоторые выводы.Каюсь.
                        В оперативной памяти 8-ми битных компьютеров использовались
                        в основном одноразрядные микросхемы памяти.
                        К565РУ5(64кбита) хит продаж.То есть для предполагаемой "Сетунь-70"
                        модуль памяти должен содержать 12-ть подобных микросхем.
                        Использовать BCT-кодирование "1в2" без дешифратора данных для ОЗУ
                        действительно проще, лично за него. Дешифратор адреса конечно делать
                        обязательно.Ваше BCT-кодирование "5в8" очень удачно.Можно производить
                        параллельное декодирование например двумя "5в8", получится
                        "10BCT в 16bit",полученный таким образом объём памяти равен 59 049трайт.
                        В "Сетунь-70" адрес складывается из четырёх разрядной адресной части
                        управляющего слога "k" и значения трёх разрядного регистра приписки "h"
                        (Н. П. БРУСЕНЦОВ, Е. А. ЖОГОЛЕВ, С. П. МАСЛОВ ОБЩАЯ ХАРАКТЕРИСТИКА
                        МАЛОЙ ЦИФРОВОЙ МАШИНЫ «СЕТУНЬ-70»).То есть адресное пространство
                        оперативной памяти "Сетунь-70" определяется семизначным троичным кодом
                        и равно 2 187трайт (27 страниц по 81 слог в каждой).В статье упоминается,
                        что "емкость памяти по техническим соображениям выбрана равной 27
                        страницам" и "данная система позволяет производить наращивание памяти
                        без изменений формата слога-адреса".То есть память можно увеличить за
                        счёт увеличения разрядности регистров приписки "h".Если предположительно
                        сделать его равным 6-ти разрядам, то получится 59 049трайт, если 12-ти то
                        43 046 721.Выбор более чем есть.
                        Ну а насчёт ПЗУ пока да, хороших идей нет.

                        • 023kvas

                          Если делать память из 12-тибитных слов по два 6-тибитных полуслова, то одно слово можно будет хранить минимум в 19-ти битах. Но при этом придётся отказаться от кодирования пятёрок "5в8". Если от такого кодирования не отказываться, то потребуется минимум 20 битов на 12 тритов. Т.е. либо делать кодирование 2 раза по "5в8" плюс один раз "3в4", либо 2 раза по "6в10". Но это всё верно для данных.

                          Для адресов не нужно забывать, что адресация "Сетунь" сделана несколько хитровыдуманно, последний трит влияет не только на адрес, но и на размер адресуемой ячейки памяти. Т.е. где-то так: при значении "0" адресуется целиком двойное слово, при значении "1" его одна половинка (например старший трайт), при "-1" другая. С учётом этого количество двойных слов будет равно 1/3 от адресного пространства (можно сказать и так: количество трайтов равно 2/3 адресного пространства).
                          Если ещё принять моё предложение о том, что старший трит адреса будет определять к какой памяти мы обращаемся, и для ОЗУ быть всегда равным "+1" (чтобы адреса ОЗУ были только положительными), то пространство манёвра сужается ещё больше.

                          Пусть мы считаем память в словах, по два трайта каждое, если согласиться на оба вышеприведённые дополнения, то два трита адреса будут потеряны для увеличения количества ячеек памяти. Если одни и те же выводы схемы, реализующей троичный процессор, использовать и для формирования адреса и для формирования данных, то всего выводов адреса будет так же 12 (троичных). Это даст нам 3^(12-2)=59049 слов ОЗУ (двойных трайтов), или 118098 трайтов по 6 бит. Получается вполне укладывающийся в концепцию "примерно как у раннего 8-мибитного компьютера" размер ОЗУ.

                          • 024rvnick

                            От кодирования данных придётся отказаться по ещё одной причине.
                            Часть памяти ОЗУ будет отведена под ресурсы видеоконтроллера.
                            Данные для видеопамяти кодировать нельзя,так как конкретные разряды
                            видеотрайта могут использоваться видеоконтроллером по разным назначениям.
                            В случае алфавитно-цифрового дисплея часть разрядов видеотрайта будет содержать
                            в себе код символа и код атрибутов(цвет,мерцание и т. д.).В случае
                            графического дисплея это соответствующие разряды для каждого из цветов.
                            Такая же ситуация с регистрами устройств ввода-вывода.

                            • 026kvas

                              Всё равно ОЗУ видеоконтроллера вероятнее, что будет реализовано в видеоконтроллере. Это проще, чем делать его частью реального ОЗУ, а потом делать обращение к тому же ОЗУ от формирователя видеосигнала. Так что можно видео-ОЗУ разместить в отрицательных адресах. Но и этот вариант слишком сложен для первой реализации. Я-бы подумал о выводе видеоинформации через последовательный порт на ANSI-дисплей, который любая приличная терминалка на PC умеет эмулировать. А графические режимы отложил бы на будущее, если они вообще потребуются. В любом из этих двух случаев адреса с положительным значением первого трита можно кодировать и размещать в двоичном ОЗУ, т.к. видео-ОЗУ в них не будет.
                              Если регистры устройств ввода-вывода размещать там же (в отрицательных адресах), то и для этого должно тех адресов вполне хватить.

                              Кстати, если делать возможность использования двоичных устройств ввода-вывода (а это настолько расширит потенциальный диапазон подключаемой периферии, что оно очень даже стоит внимания), то вывод 8-ми тритов в 8-мибитные регистры можно делать вообще просто: "ноль-в-ноль, не_ноль-в-1". Ввод-вывод с 16-тибитными регистрами так легко сделать не получится, придётся 12 тритов в 16 битов декодировать или обратно.
                              Но тут я слишком далеко вперёд забегаю, пока это лучше отложить.

                              • 028rvnick

                                Думается, что VGA видео с текстовым режимом 80x25 строк было бы неплохо.
                                Это примерно 2187 трайт памяти.Если ещё выделть 2187 трайт,то можно
                                добавить атрибуты цвета,27 - цвет симвопа и 27- цвет фона.
                                В во всех ранних 8-мибитных компьютерах ОЗУ видеоконтроллера
                                было составной частью общего ОЗУ. Конфликт процессора и видеоконтроллера
                                при обращении к видеоОЗУ решался разделением времени.Во время обратного
                                хода по строкам и кадрам допускалось обращение процессора к видеопамяти.
                                Вовремя прямого хода отображения кадра видеопамять сканировала
                                схема видеоконтроллера.
                                Режим графики 640х480х729цветов был бы естественным для 6-разрядного
                                троичного компьютера.Но до зтого конечно очень и очень далеко.
                                Так, помечтать, как выглядит троичная радуга.

                                • 029Бармалейкин

                                  Наверное имеет смысл создать некий документ, содержащий хотя бы функциональное описание системы которую вы хотите создать.

                                  • 030АлександрТринари

                                    Можно завести соответствующую новую тему на форуме.

                                    • 031rvnick

                                      Да, действительно,прерваться на сколько-то дней,два-три не наспех
                                      созданных рисунка и пара страниц текста без воды. Попробуем.

                                      • 032rvnick

                                        Написана небольшая статья в шесть страниц с четырьмя
                                        вложенными картинками в формате OpenOffice.
                                        Для педварительного ознакомления с целью возможной публикации
                                        или на форуме или в журнале, укажите куда и как переслать.

                                        • 033АлександрТринари

                                          С дня на день будет добавлена возможность прикреплять файлы, а не только картинки.

                                        • 034АлександрТринари

                                          Теперь есть возможность прикреплять файлы, а не только картинки.

                                          • 035rvnick

                                            Проверка прикреления.
                                            Файлы более 300 кб не принмаются.

                                      • 036rvnick

                                        Простая статья, не без воды.
                                        В обшем все об этом всё знают,
                                        всё обсуждалость на форуме.
                                        Попытка объединить кое-какие
                                        общие моменты.

                                        Прикреплён файл: _.odt
                                        • 037Бармалейкин

                                          На мой взгляд получилось хорошо, вполне подходит для публикации. Будут ли вноситься какие-нибудь поправки и дополнения или можно считать это финальным вариантом?

                                          • 038rvnick

                                            Спасибо.
                                            Если время терпит ,то наследующей неделе
                                            примерно ещё страница-другая и рисунок.

                                            • 040Бармалейкин

                                              В целом времени навалом, остальные авторы пришлют материал к концу месяца. За неделю-другую сделаем предварительный вариант выпуска для вычитки авторами.

                                            • 043rvnick

                                              Предполагалось написать небольшое дополнение
                                              касающееся общих методик построения троичных
                                              схем на двоичных логических элементах на основе
                                              соотношений 3 к 2. Не получилось по-тому, что очень
                                              сложно и по-тому, что в процессе работы над этим
                                              наткнулся на некоторые интересные моменты.
                                              По этому статья остаётся как есть, а в ближайшее
                                              время попытаюсь поднять темы — проект алу,
                                              где перенос будет не операндом а управляющей
                                              функцией, и тема сравнение двоичных двухбитных
                                              кодировок.

                                          • 044Shaos

                                            Это надо на вики вешать и обсуждать - по страничке на отдельный компонент - страничка про память, страничка про шину данных, страничка про шину адреса и т.д.

                                            • 045АлександрТринари

                                              Мысли уже такие были, а раз тут и спрос появился — добавим wiki систему.

                          • 025rvnick

                            Адресация "Сетунь" сделана не только несколько хитровыдуманно,
                            но и адресные регистры оригинально организованы. Рисунок 3.
                            Н. П. Брусеннцов, Е. А. Жоголев, С. П. Маслов
                            Обшая характеристика малой Цифровой машины «Сетунь-70»
                            (http://www.vntb.ru/setun/BrousentsovZhogolevMaslov1.pdf)
                            Думается ещё будет много нюансов.
                            Согласен, старшие адреса,как предлагалась,
                            будут определять выбор обращения к ОЗУ,к ПЗУ,или к видеопамяти
                            (типа chip select)
                            Как концепцию можно принять, что память должна быть равна или
                            больше 59049 трайт. Конкретное значение будет уточняться
                            в зависимости от многих других условий: какая будет схемотехника,
                            как типы микросхем, будет ли видеоадаптер графический и др.

                            • 027kvas

                              Опять же, пара-тройка идей для рассмотрения:
                              1) сделать по комплекту регистров для каждого режима работы (гипервизор, ОС, задача пользователя), это сильно уменьшит затраты времени при переключении из режима в режим
                              2) в данном проекте можно ограничиться только 2-мя режимами работы: ОС и задача пользователя (мало памяти, чтобы о виртуализациях ещё думать, не дорос проект до этого)
                              3) множество команд сделать расширяемым (в идеале - для каждой задачи расширяемым независимо), для этого можно опять использовать принцип различения по первому триту, допустим для значения "+1" команды будут исполняться как обычные команды, а для "-1" будут ссылками на процедуры, и список адресов тех процедур у каждой задачи может быть своим, а при значении "0" будет указывать на список процедур расширения, общих для всей данной машины.
                              4) поглядываю тут на аппаратные платформы, которые могут быть использованыдля реализации, может что-то навроде "Arduino Duemilanove 328" и подберётся

        • 010rvnick

          С достойным материалом для печатного журнала - это сложно.
          А кстати этот журнал только проект, или с чем-то можно уже ознакомиться?

          • 015Бармалейкин

            Пока это только проект. Я оставлял в форуме предложение присылать статьи для публикации, однако пока ни кто не откликнулся.

            • 016rvnick

              Написать хорошую статью,тем более по такой тематике, ну это действительно не так просто.
              Одно дело участвовать в обсуждениях на форуме, там как бы несколько человек в комментариях могут
              нарабатывать материал.
              Не разбираюсь в издательском деле, журнал конечно эффектно, но может быть сборник попробовать?
              Вроде же много статей и публикаций в свободном доступе? Назвать сборник типа "Популярные публикации
              по троичной информатике", или ещё как-то красивей, разбить на тематические разделы типа "математика",
              "программы","логика" и т.д.. Если кто-то всё же напишет специальную статью,
              то добавить её в конце, в "приложениях".

              • 017Бармалейкин

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

                • 018rvnick

                  Возможно ли, что материал будет сперва обсуждён на форуме?

                  • 019Бармалейкин

                    Как я уже писал выше, журнал может быть использован в том числе и для фиксирования некоторых ключевых решений к которым пришли участники обсуждения в форумах. Например, одну из статей можно посвятить терминологии - описать имеющие хождение термины и их варианты, после чего при возникновении вопросов по терминологии можно будет сослаться на выпуск журнала и статью, где поясняется термин.

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

  • 002rvnick

    На ternary.info можно ознакомится с фотографиями печатной платы "3niti alpha simu1".
    Через всю плату, практически по середине, через три блока печатных перемычек
    проходит белая разделительная линия. Ничего в ней таинственного нет. Если по этой
    линии разрезать плату "3niti alpha simu1" на две части, то получится отдельно
    двоичный микроконтроллер с памятью, как собственно троичный процессор, и отдельно
    интерфейс для программирования, состоящий из регистров трёхпозиционных переключателей и
    двухцветных светодиодов. Перерезанные перемычки теперь будут являться точками
    подключения для некоторой системной внутренней компьютерной шины,что позволит
    подключать к "3niti alpha simu1" дополнительные троичные "девайсы".Системная шина
    может быть в виде кросс-платы с дополнительными разъёмами, возможно надо будет
    произвести усиление нагрузочной способности и дополнительную конфигурацию управляющих сигналов.
    Также возможно, что способ подключения дополнительной периферии может быть
    совсем другим.
    Интерес представляет возможность (даже гипотетически) оснащения "3niti alpha simu1"
    троичными клавиатурой и дисплеем.
    Разрядность представлена трёхтритными словами, именуемые как "триада".
    Адресное пространство, 9-ти разрядное, разделено на три равные части:
    -3280...-1094: область внешних устройств (периферии)
    -1093...+1093: область ROM для базовой операционной системы
    +1094...+3280: область RAM оперативная память
    Естественно области ROM и RAM задевать нельзя. Достаточно ли будет 2186-и
    адресов области внешних устройств (регистров) под возможность оснащения
    "3niti alpha simu1" клавиатурой и дисплеем.

    Простая клавиатура это устройство сканирующего типа, где контакты клавиш соединены
    в специальным образом организованной сетке. На горизонтальные ряды
    с регистров выхода подаются сигналы опроса, а вертикальные ряды соединены входными
    регистрами чтения для записи кода нажатой клавиши.
    В целом для организации сканирующей клавиатуры нескольких единиц адресов регистров ввода-вывода
    будет достаточно. Всё будет зависеть от конкретной конструктивной реализации :
    сколько клавиш будет всего, сколько будет рядов и т .д.

    Дисплей технически может быть представлен в виде видеоадаптера для бытового TV.
    Естественно, в виду очень сильной ограниченности в размерах свободной регистровой
    памяти, он должен быть обязательно алфавитно-цифрового символьного типа.
    То есть для его работы должен использоваться знакогенераторный метод
    отображения символов из кодовой таблицы прошитой в специальной ПЗУ.
    Вопрос сколько символов можно отобразить на одной странице
    дисплея, сколько будет строк и сколько будет символов в строке.
    Для кодирования приличной таблицы символов (латинский и русский алфавиты,
    заглавные и прописные, математические и специальные символы) одной триады
    мало, две триады предоставят 729 значений, это более чем достаточно.
    С учётом того, что несколько единиц адресов будет отведено под регистры
    клавиатуры, ещё какое-то небольшое количество адресов может быть зарезервировано
    для каких-то целей, то под память дисплея может быть выделено примерно
    пара тысяч адресов. А с учётом того, что код символа будет представлен парой
    триад, можно предложить о возможности вывода на дисплей примерно до тысячи символов.
    В троичном компьютере и дисплей должен быть троичным, то есть количество строк
    и количество знакомест в строке должно быть кратно значению тройки.
    Близкие подходящие значения 18 строк по 54 символа в каждой, т.е. 972 отображаемых
    знакоместа на странице дисплея. Личное мнение, что совсем неплохо.
    Ещё надо заметить, что для работы клавиатуры и дисплея нужны соответствующие
    подпрограммы обслуживания. Есть ли возможность пристроить их системную ROM,
    или надо будет загружать как драйвера в оперативную RAM - неизвестно.
    Думается что есть шансы решить и эту проблему.

  • 003Shaos

    Рад, что мои начинания кому-то интересны :)

    Предлагаю использование и расширение "3niti alpha simu1" обсуждать на ternary.info:

    http://ternary.info/modules/newbb/viewtopic.php?topic_id=164&forum=4

    Для затравки методика сборки платы Rev.A в виде PDF-документа:

    http://ternary.info/ternary/3niti1-book.pdf (2.6 MB)

  • 004АлександрТринари

    Для разработки программных эмуляторов не требуется специального железа или специальной платформы.
    Создавать программные троичные процессоры/компьютерные системы можно как на PC,
    так и на сотне других настольных/…/мобильных платформах.
    Примером тому может служить «Сетунь ВС» — программный эмулятор первого троичного компьютера «Сетунь»,
    который работает просто в браузере.

  • 005Shaos

    Не забудь приплюсовать в стоимость такого эмулятора троичного компьютера стоимость PC :)
    P.S. Аргумент "а PC у любого дурака уже имеется" не принимается ;)

    • 006Shaos

      И вообще по большому счёту для разработки программных эмуляторов (как и программ вообще) не требуется специального железа или специальной платформы или даже PC! Создавать программные троичные процессоры/компьютерные системы можно на обычном листке бумаги с помощью обычной шариковой ручки ;)

  • 041Shaos

    Будет!
    http://ternary.info/modules/newbb/viewtopic.php?viewmode=flat&topic_id=168&forum=4
    С помощью моей программы DDT:
    http://ternary.info/modules/newbb/viewtopic.php?viewmode=flat&topic_id=169&forum=7

    Прикреплён файл: ddt_0_1_win.zip
    • 042Shaos

      Добавил поддержку DDT-файлов (есть примеры SUM.ddt и ALU.ddt) и снял явные ограничения на количество входов и выходов (неявные остались - 99 входов и 999 функций).

      Прикреплён файл: ddt_0_2_win.zip
  • 046Shaos

    Троичный мультиплексор готов! Подробнее см. www.nedopc.org?000E

    • 047Shaos

      А по русски с возможность обсудить - тут www.nedopc.org?000F

    • 048АлександрТринари

      А чего столько проводков?
      Вроде плата под него равзродилась.

      • 050Shaos

        проводков столько т.к. макетка
        разведённая плата будет ещё мельче

      • 051Shaos

        умеет 2 троичных мультиплексора с объединённым входом управления:
        1) S - троичный вход управления
        2) N1 - подключаемый контакт первого селектора, если S=N
        3) O1 - подключаемый контакт первого селектора, если S=O
        4) P1 - подключаемый контакт первого селектора, если S=P
        5) C1 - подсоединяется к N1,O1,P1 в зависимости от значения S
        6) N2 - подключаемый контакт второго селектора, если S=N
        7) O2 - подключаемый контакт второго селектора, если S=O
        8) P2 - подключаемый контакт второго селектора, если S=P
        9) C2 - подсоединяется к N2,O2,P2 в зависимости от значения S
        10)-5В - отрицательное питание
        11) 0В - земля
        12)+5В - положительное питание

История сообщений

    9 августа
    25 июля
    24 июля
    20 июля
    18 июля
    16 июля
    15 июля
    12 июля
    9 июля
    8 июля
    5 июля
    4 июля
    22 июня
    21 июня
    20 июня
    17 июня
    16 июня
    14 июня
    10 июня
    9 июня
    8 июня
    7 июня
    6 июня
    4 июня
    3 июня