Архитектура компьютера«Тунгуска» – проект троичного компьютера

Официальный сайт: http://www.acc.umu.se/~achtt315/tunguska/
Атор: Viktor Löfgren.
Страна: Швеция.

Краткое описание: эмулятор троичного компьютера, в основу положена архитектура процессора 6502 от MOS Technology, но применительно к троичной системе.
Помимо самого эмулятора, проект включает следующие компоненты:
ассемблер, позволяющий компилировать ассемблерный код в специальный сжатый двоичный код который может выполняться в эмуляторе;
операционную систему, написанную на ассемблере, имеет базовые системы ввода–вывода;
C компилятор, находится в начальной стадии разработки, будет обеспечивать более высокий уровень программирования чем ассемблер.

Alexander Obukhov, Тринари,

Мнения

  • 012Alexander ObukhovТринари

    Доступен в версиях для GNU/Linux, FreeBSD и MS Windows

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

    С историей создания и развития этого проекта можно ознакомиться в наем форуме:

    - http://ternary.info/modules/newbb/viewtopic.php?viewmode=flat&topic_id=91&forum=11

    - http://ternary.info/modules/newbb/viewtopic.php?topic_id=93&forum=10&viewmode=flat&order=ASC&start=0

    Там же есть ссылки на версию, работающую в Windows.

  • 016Alexander ObukhovТринари

    Перенесены комментарии из другой темы.

    • 001Андрей Куликов

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

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

        Вы *слишком* поверхностно ознакомились с Тунгуской. Это полноценная троичная ЭВМ, пусть и очень простая. В состав проекта входят ассемблер, вариант троичного Си (3CC) и несколько примеров программ. Всего этого достаточно для ознакомления с программированием троичной ЭВМ и оценки преимуществ при реализации алгоритмов оперирующих данным представленными в уравновешенном троичном коде.

        • 003Андрей Куликов

          Прошу прощения, я действительно перепутал два разных проекта.
          Проект Виктора Логфрена "Тунгузка" http://www.acc.umu.se/~achtt315/tunguska/ - Эмуляция троичной ЭВМ на двоичном микропроцессоре Motorola 6502. Позволяет ознакомиться с троичной системой, с программированием на ассемблере и Си в троичной системе. Из-за преимуществ троичной логики по некоторым параметрам превосходит двоичный аналог, но из-за двоичной основы теряются многие преимущества троичных ЭВМ.
          Проект Стива Грабба http://www.trinary.cc/Contact.htm - троичный трёхуровневый проект. Разработаны схемы триггера, счётчика, регистра, сумматора и др. Микросхем нет.

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

            Тунгуска основана на архитектуре некогда популярного домашнего компьютера Commodore-64. Процессор у Тунгуски троичный, от двоичного 6502 остался только синтаксис команд ассемблера.

            • 005Андрей Куликов

              В разделе "About" страницы http://www.acc.umu.se/~achtt315/tunguska/ автор (Виктор Логфрен) пишет:"Tunguska is a ternary computer emulator", ещё ниже:"It is loosely based on the excellent design of the (binary) 6502-processor by MOS Technology, ... ", в разделе "Components":"Besides the emulator, tunguska has ... ". Из этих данных можно сделать вывод, что "Тунгузка" является эмулятором троичной ЭВМ на (двоичном) 6502-процессоре фирмы MOS Technology.

              • 006Андрей Куликов

                Прошу прощения, фамилия автора Лофгрен.

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

                Вы делаете неверный вывод из верных данных. Там написано совсем не то что Тунгуска основана на двоичном процессоре, а что 6502 был (что не удивительно) двоичным. Сам по себе заимствованный автором дизайн не относится ни к двоичным ни к троичным.

                P.S. Название проекта - "Тунгуска", а не "Тунгузка".

                • 009Андрей Куликов

                  В разделе "About", в подразделе "Components" в абзаце "Assembler" автор (Виктор Лофгрен) пишет:"The tunguska assembler compiles assembly code into a compressed binary format that the emulator can run". В этом предложении автор третий раз упоминает эмулятор, а так же то, что ассемблерный код компилируется в сжатый двоичный формат (т.е. в двоичной памяти и на двоичном диске программа и данные записываются и хранятся до выполнения в сжатом двоичном коде), который эмулятор может выполнить (выполняется также двоичный код переписанный с диска в память двоичным процессором Motorola 6502 производства фирмы MOS Technology набором двоичных команд двоичного процессора). Таким образом "Тунгуска" - это двоичная эмуляция троичного компьютера на двоичном компьютере.

              • 008Alexander ObukhovТринари

                Раз он для 6502 (что конечно не является таковым :),
                как тогда возможна работа данного эмулятора на платформе x86?

                • 010Андрей Куликов

                  Других данных, кроме описания автора (Виктора Лофгрена), у меня нет. Автор же пишет, что эмулятор троичной ЭВМ был написан им для его старенького компьютера с двоичным микропроцессором 6502 производства фирмы MOS Technology. Упоминание о платформе х86 на сайте http://www.acc.umu.se/~achtt315/tunguska/ мне не встретилось.

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

                    Вы упорно не замечаете свободно доступной информации. Цитирую с того самого сайта Виктора (раздел Downloads):

                    "Available for GNU/Linux and FreeBSD (as of 0.0.3), and MS Windows (as of 0.5). With some sleight of hand, it is possible to get it running on other systems as well..."

                    Надеюсь упоминание Linux, FreeBSD и MS Windows (XP, Vista) побудит Вас изменить свою точку зрения. Если надо, я переведу что тут написано, чтобы не возникло ошибок.

                    Если уж исполняемые файлы для FreeBSD и Windows, а так же открытые исходники Вас не убедят, я не знаю что делать...

                    Ну разве что могу попросить самого Виктора написать.

                    • 013Андрей Куликов

                      Это ещё раз доказывает, что "Тунгуска" - это программный эмулятор троичной ЭВМ первоначально написанный на ассемблере и Си старенького двоичного компьютера на двоичном процессоре 6502, а позже исходники на ассемблере и Си были оттранслированы на ассемблере и Си двоичной системы Intel х86, отличия которых не очень большие.

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

                        Скажите пожалуйста, что заставляет вас игнорировать всё что я пишу ? Зачем вы вводите в заблуждение читателей форума и пытаете убедить их в том, что красное не квадратное, а пушистое ?

                        20-го декабря исполняется ровно год с запуска проекта "Тунгуска". Я вместе с другими членами нашей группы принимал посильное участие в развитии проекта. Так же мы создаем билд для Windows. Тунгуска никогда не была предназначена для работы на каких-либо "стареньких двоичных компьютерах на процессоре 6502" и уж тем более совершенно невозможно "оттранслировать" ассемблер 6502 в x86.

                        • 017Андрей Куликов

                          В разделе "About" страницы http://www.acc.umu.se/~achtt315/tunguska/ автор (Виктор Лофгрен) пишет:"It is loosely based on the excellent design of the (binary) 6502-processor by MOS Technology, ... ".
                          В Википедии на странице "MOS Technology 6502" пишут, что 6502 - это восьмиразрядный микропроцессор разработки 1975 года, был разработан той же командой инженеров, которые разработали процессор Motorola 6800. Применялся в компьютерах "Apple II", "Commodore PET", "Atari", "BBC Micro" и в других разработках. В "Commodore 64" применялся процессор 6510, прямой потомок 6502. Советская военная промышленность выпускала совместимый с 6502 процессор 4К602ВМ1 (Разработка НПО "Физика").
                          Все эти процессоры и компьютеры на их основе - двоичные восьмиразрядные ЭВМ с двоичной 16-ти разрядной шиной адреса.
                          Из этого следует, что разработка Виктора Лофгрена с названием "Тунгуска" является двоичной эмуляцией троичной виртуальной ЭВМ для двоичной физической ЭВМ с двоичным процессором 6502, которая позже была перенесена на двоичную Intel x86 совместимую платформу.
                          Вы же пытаетесь ввести читателей форума в заблуждение и убедить их в том, что двоичный процессор 6502 является троичным , что "Тунгуска" является "полноценной троичной ЭВМ", а не двоичной эмуляцией троичной виртуальной ЭВМ, что программу, написанную на одном языке (ассемблер 6502) нельзя переписать на другой язык (ассемблер х86), когда многим известно, что переписывают.
                          В некоторых местах Вас можно понять, если предположить, что традиционное электронное понятие "процессор" Вы, понимаете как "программное обеспечение" (подобно "текстовому процессору" "Лексикон" Веселова, когда многие считают, что это просто один из многих редакторов текста), а "структуру программного обеспечения" как традиционное электронное понятие "архитектура ЭВМ". Многие другие придерживаются традиционных понятий, что "железо" и "софт" это две разные составляющие вычислительной техники. Если переносите электронные названия и понятия на программы, то упоминайте, что программный "процессор" и "архитектура" программ, а не "железа", а то получается, что один говорит "процессор" и думает, что говорит про микросхему в корпусе с выводами, а другой тоже говорит "процессор", а думает, что говорит о наборе программ и подпрограмм.

                          • 018Alexander ObukhovТринари

                            "Тунгуска" является двоичной эмуляцией троичной виртуальной ЭВМ для двоичной физической ЭВМ с двоичным процессором семейства x86. С самого начала она разрабатывалась именно под x86.
                            "Тунгуска" на данный момент не может работать на дургих платформах кроме как x86 и только под управлением ОС MS Windows, Linux, FreeBSD.
                            Процессор 6502 является двоичным, и никто обратного не говорил.
                            Программу, написанную на одном языке (ассемблер 6502) можно переписать на другой язык (ассемблер х86). Но только именно переписать, а не "оттранслировать".
                            "Железо" и "софт" это разные составляющие вычислительной техники.
                            Процессор 6510, это процессор 6502 с дополнительным портом ввода-вывода.

                          • 019NatyТринари

                            It is loosely based on the excellent design of the (binary) 6502-processor by MOS Technology, ... "
                            Тут видимо имелось ввиду, что процессор в Тунгуске построен аналогично 6502-процессору by MOS Technology, но на основе троичного представления, а не то что Тунгуска работает на этом процессоре. Из-за этого видимо недопонимание возникло...

                            • 020Андрей Куликов

                              В этом предложении упоминается 8-ми разрядный (двоичный) процессор 6502 фирмы MOS Technology разработки 1975 года. Маловероятно, чтобы автор (Виктор Лофгрен) разработал и выпустил физический троичный процессор с подобной архитектурой. Более вероятно, что автор разработал пакет программ с добавлением элементов троичной логики, т.е. двоичный программный эмулятор троичной виртуальной ЭВМ для двоичных физических ЭВМ и разработанный пакет программ называет процессором, но это не физический, а программный процессор.
                              Действительно троичный на физическом уровне элемент процессора упоминается в Википедии на английской странице "троичная логика" в ссылке http://www.inria.fr/rapportsactivite/RA2004/r2d220004/uid51.html Team-R2D2 - французский институт, который выпустил первую полностью-троичную логическую микросхему ( 64-tert-овая SRAM и 4-tert-овый сумматор) в 2004 году.

                              • 021Alexander ObukhovТринари

                                А ведь никто ни разу не сказал что это физический процессор.
                                Написано же – эмулятор троичного компьютера. :)

                                • 022Андрей Куликов

                                  http://www.acc.umu.se/~achtt315/tunguska/about.html
                                  "It is loosely based on the excellent design of the (binary) 6502-processor by MOS Technology, but entirely ternary."
                                  Двоичный процессор 6502 разработки и производства фирмы MOS Technology является физическим устройством.
                                  Бармалейкин 17 декабря, 16:24 "Тунгуска основана на архитектуре некогда популярного домашнего компьютера Commodore 64. Процессор у Тунгуски троичный, от двоичного 6502 остался только синтаксис команд ассемлера."

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

                                    Эмулятор, архитектура и процессор - все программные.

                                    • 024Андрей Куликов

                                      Слава Богу выяснили!
                                      Из двух направлений в троичной вычислительной технике:
                                      1. Эмуляция троичных виртуальных ЭВМ на двоичных физических ЭВМ-компьютерах,
                                      2. Действительно троичные на физическом уровне ЭВМ,
                                      проект "Тунгуска" относится к первому из двух направлений.

    • 026Alexander ObukhovТринари

      Я так понимаю никто так и не смотрел этот эмулятор?

  • 027Alexander ObukhovТринари

    Автор «Тунгуски» собирается начать работу над проектом «Тунгуска II».
    В связи с сложностью расширения и модифицирования существующий системы, автор планирует переписать системы создав «Тунгуска II».
    Одна из задач улучшить общий дизайн системы, сделать более модульной.
    Система планируется быть обратно совместимой с «Тунгуской», однако бинарной совместимости не будет, портирование же кода должно быть простым.
    Также автор решил отказаться от длины слова в 6 трит в пользу 9 трит.
    Будет написана на C99 вместо C++.
    Часть задач уже решена.
    Автор также готов выслушать любые предложения.

    • 028NatyТринари

      в конференции судя по всему будет раскрыт этот вопрос:
      http://trinary.ru/discussions/6/2#opinion024

      • 029Leonard Skromny

        By the way, FUZZY logic can be represented on one or more TRITs as degrees of truth (or probabilities) in range not between 0 and 1 but between ~1*n and +1*n , where "n" is number of TRITs. Accuracy of value depends on "n" . Further rules are described in theory of FUZZY logic, for example:
        NOT x = (1 - truth(x)) , e.t.c.
        One more : maybe "=?=" more likely than''>==