Троичный RISC-V

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

imsushka
Maniac
Posts: 331
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Троичный RISC-V

Post by imsushka »

как может троичный комп быть совместимым с двоичным ??????????????????
и как он может быть бинарно совместим ???????????

троичный это -1,0,+1 или NOP
двоичный - 0 и 1
троичный натянутый на двоичный (точнее четвертичный) это 11,00,01.
и теряется 10.
тоесть нет выигрыша троичново, есть даже проигрыш двоичного

натягивание совы на глобус

если делать троичный, то делать троичный
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

imsushka wrote: 19 Nov 2025 09:25 как может троичный комп быть совместимым с двоичным ??????????????????
и как он может быть бинарно совместим ???????????

троичный это -1,0,+1 или NOP
двоичный - 0 и 1
троичный натянутый на двоичный (точнее четвертичный) это 11,00,01.
и теряется 10.
тоесть нет выигрыша троичново, есть даже проигрыш двоичного

натягивание совы на глобус

если делать троичный, то делать троичный
[quote]как может троичный комп быть совместимым с двоичным ?[/quote]

Смотрим спецификацию RISC-V ISA в части инструкций с плавающей запятой. Фактически в процессоре два типа данных UINT32 и FLOAT, которые реализованы в "железе" на аппаратном уровне.

Можно расширить систему команд, описание RISC-V ISA, как сделала автор статьи:
Давыденков А.С. студент

УДК 004.2
Смоленский филиал Московский энергетический институт (г. Смоленск, Россия)
РАСШИРЕНИЕ БАЗОВЫХ КОМАНД ПРОЦЕССОРА НА БАЗЕ RISC-V КОМАНДАМИ НЕЧЕТКОЙ ЛОГИКИ
Аннотация: в работе приведены примеры нечетких команд, которые могут быть добавлены в стандартный набор команд в процессоры на базе архитектуры RISC-V.
Ключевые слова: нечетка логика, процессор, архитектура.
и как он может быть бинарно совместим ?
Итого: Современные процессоры имеют в архитектуре бинарную реалиазцию, модули с плаающей запятой, с фиксированной запятой и всякие другие.

"Мой велосипед" - заменить биты на триты. Под "бинарная совместимость RISC-V" понимаю режим работы процессора, в котором бинарная прошивка для RV32I будет выполняться на "железе" TRIT-RV32I.

троичный это -1,0,+1 или NOP
двоичный - 0 и 1
троичный натянутый на двоичный (точнее четвертичный) это 11,00,01.
и теряется 10.
теряется 10.

В документации по "Сетунь" из 1958 года написано как выполнять проверку работоспособности машины по индикации. Напомню. Использовались две лампочки. Диагностика троичного элемента: Состояние "11" является аварийным.

В "железном" TRIT-RISC-V на аппаратном уровне планирую сделать аппаратную самодиагностику каждого трита. Это позволит определять ненадёжную работу вычислительной системы с точностью до трита, выполнять аппаратный stop.


Более подробно читайте мою публикацию в научном журнале. Был советский опыт создание надёжных цифровых элементов и процессора на числах фибоначчи. Реализация аппаратной избыточности:
https://t.me/setun_1958/1/19055
Тринарный процессор как уникальная технология будущего

Статья "«Тринарный процессор как уникальная технология будущего»" в научном научном журнале "Вестник современных цифровых технологий". Научно-практический журнал. №22 МАРТ 2025, www.c3da.org, ISSN 2686-9373

На мой взгляд получилась достойная статья по истории вычислителей на основе троичной, троично-симметричной системах; истории создания вычислителей на основе чисел фибоначчи. Действительно (!) позволяет в будущем строить высонадёжные, самодиагностирующие, в реальном времени, троичные вычислители.
Для бинарных цифровых систем создана эко-среда проектирования "железа", программного обеспечения, систем проектирования заказных систем, проектирование цифровой электроники на fpga.


Надо быть глупцом и упрямым и "начать изобретать свой велосипед". Для сокращения сроков постройки собственного троичного процессора необходимо использовать бинарную инфраструктуру.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Отладка ввода данных из строки в параметре команды троичного эмулятора

Code: Select all

void set_trytes_from_str(tr8 *dst, const char * const src, int N)
[/b]

Code: Select all

$> ./main -a -m -d "01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F" 1
Копировать байты в троичную память RAM с адреса RAM[0]
Emulator computer architecture 'TRIT-RISC-V':
Version: 0.04
Author: Vladimir V.I.
E-mail: askfind@ya.ru

[ Emulator TRIT-RISC-V : T-RV32I ]

Dump ternary RAM[243]:
-5 : 0000 0000 0000 0000
-1 : 0000 Z000 3000 0000
3 : 0000 0000 0000 0000
7 : 0000 Z000 X000 0100
11 : 0000 0000 0000 0000
15 : 0000 Z000 3000 0000
19 : 0000 0000 0000 0000
23 : 0000 Z000 X000 0Z00
27 : 0300 0000 0000 0000
31 : 0000 Z000 3000 0000
35 : 0000 0000 0000 0000
39 : 0000 Z000 X000 0100
43 : 0000 0000 0000 0000
47 : 0000 Z000 3000 0000
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Проектирование инструкций троичного процессора TRIT-RISC-V

Идея сделать двоичную совместимость с процессором RISC-V (RV32I)

Далее, надеюсь, опытные инженеры разработчики помогут внести изменения в описание инструкций троичного процессора.
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Проектирование инструкций троичного процессора TRIT-RISC-V
Версия: 0.03

Таблица инструкций создана. Продолжу создание симулятора T-RV32I.
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Описание ассемблера для TRIT-RISC-V
ver.0.01
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Автор: Васильев В.И.
Место: Россия, г. С.-Петербург Copyright © Vladimir V. ask nd@ya.ru
Дата созд.: 24.11.2025 Дата ред.: 24.11.2025 Версия: 0.04

TRIT-RISC-V ASSEMBLY
LANGUAGE
Programmer Manual
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Этот общий диалог создан искусственным интеллектом, предназначен только для ознакомления.

Попросил AI deepseek.com написать на языке С++ реализацию операций с типами данных ternary с шаблонами и перегрузка операций.

Справился со второй попытки!

Фактически это библиотека троичных операций на языке С++ с шаблонами и перегрузкой операций.

ТЕСТ

$> ./trit_demo
=== Демонстрация операций с троичными числами ===

-— TRIT8 операции —-
a8 = [+ 0 - + 0 0 - +]
b8 = [0 + - 0 + 0 + -]
a8 + b8 = [+ 0 - + + 0 0 0]
a8 - b8 = [+ - 0 + - + - +]
a8 * b8 = [0 0 + 0 0 0 - -]
a8 == b8: false
a8 != b8: true

-— TRIT16 операции —-
a16 = [+ 0 - + 0 0 - + + - 0 0 + - 0 +]
b16 = [0 + - 0 + 0 + - 0 + - 0 + 0 - +]
a16 + b16 = [+ 0 - + + 0 0 0 + 0 - + + - 0 +]
a16 == b16: false

-— Шаблонные функции —-
addTrit(a8, b8) = [+ 0 - + + 0 0 0]
subtractTrit(a8, b8) = [+ - 0 + - + - +]
equalTrit(a8, b8) = false
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Ручное тестирование операций:

--- TRIT8 операции -—
a8 = [+ 0 - + 0 0 - +]
b8 = [0 + - 0 + 0 + -]
a8 + b8 = [+ 0 - + + 0 0 0] // = 2052

python:
>>> 2023 + 515
2538

ERROR!
Нужно исправлять. операции с тритами.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Эмулятор двоично-троичного TRIT-RISC-V процессора.

-----------
Пример выполнения первой инструкции, которая размещена в ROM с адреса 0t00000000

$ ./trit_rv32i_emu 1 -m -a -t "03 00 00 00 00 00 00 00"

Пример для 32-тритного слова
----------------------------

Little-endian (стандарт для TRIT-RISC-V):
text

Кодирование трита битами
( val1.[3..0] ) if( (val1.0>0) && (val0.0==0) then trit0 = +1
( val0.[3..0] ) if( (val1.0==0) && (val0.0==0) then trit0 = 0
( val0.[3..0] ) if( (val1.0==0) && (val0.0<0) then trit0 = -1

TRIT32 = t000000000000000000000000000000++

Адрес ROM: Содержимое 32-тритов = 64 бита
(Hex) (Hex)
0x0000: 0x03 / (младший трайт)
0x0001: 0x00 \
0x0002: 0x00
0x0003: 0x00
0x0004: 0x00
0x0005: 0x00
0x0006: 0x00 / (старший трайт)
0x0007: 0x00 \


Отладка инструкции tLB
inst_trs_lb(...},

[
Emulator TRIT-RISC-V: T-RV32I ]
Inst: tLB [ inst= : t000000000000000000000000000000++ ]

TODO add new code!
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Vladimir V., [28.11.2025 12:32]
Вопрос к представителям альянса risc-v.

Как подать заявку для рассмотрения новой архитектуры троичного trit risc-v ?

Vladimir V., [28.11.2025 12:32]
@Vladimir_Karantaev

Vladimir V., [28.11.2025 12:32]
Добрый день.
Я предлагаю вам представить ваши идеи на заседании Технологического комитета

Vladimir V., [28.11.2025 12:32]
Добрый день! Благодарю!

Как проводятся заседание Технологического комитета?

Vladimir V., [28.11.2025 12:32]
Онлайн.
Напишите мне личное сообщение.
Объясню

https://t.me/risc_v_russia
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

TRIT-RISC-V-Ternary-Educational-Processor
https://github.com/askfind/trit-risc-v-rv32i.git

Учебный процессор TRIT-RISC-V. Эмулятор бинарно-троичного процессора TRIT-RISC-V T-RV32I.

Vladimir V., [28.11.2025 11:54]

ИДЕИ

Cоздать описание команд "TRIT RISC-V Instruction Set Summary".

Так хитро, чтобы аппаратную реализации TRIT RISC-V можно запускать бинарные файлы от RV32I в режиме "бинарная совместимость". Биты заменить на триты. Память программ ROM - троичная. Память RAM-троичная. Регистры - троичные.

Vladimir V., [28.11.2025 11:59]
В "железном" TRIT-RISC-V на аппаратном уровне планирую сделать аппаратную самодиагностику каждого трита. Это позволит определять ненадёжную работу вычислительной системы с точностью до трита, выполнять аппаратный stop.
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 866
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичный RISC-V

Post by askfind »

Техническое задание для AI deepseek.com

Vladimir V., [01.12.2025 02:21]
Написать эмулятор управления пультом управления Сетунь на языке Си с использованием автоматного программирования с явно выделенными состояниями и диаграммы переходов..

Vladimir V., [01.12.2025 02:21]
Написать эмулятор управления пультом управления Сетунь на языке Си с использованием автоматного программирования с явно выделенными состояниями и диаграммы переходов..

Ссылка на эмулятор на языке JavaScript https://www.trinary.su/projects/setunws/

Пульт управления МЦВМ «СЕТУНЬ» предназначен для ручного управления машиной. Он состоит из двух панелей — вертикальной и наклонной. На вертикальной панели расположены неоновые лампочки, посредством которых осуществляется индикация регистров, триггеров, номера зон. На наклонной панели расположены ключи и кнопки управления режимов машины.

Троичный разряд отображается парой неоновыми лампочками, расположенных на вертикальной панели. Лампочки расположены одна под другой. Свечение верхней лапочки обозначает цифру 1, свечение нижней — цифру -1, отсутствие свечения — цифрой 0. Ввод троичного разряда обеспечивается ключом, который имеет три положения положения. Верхнее положение обозначает цифру 1. Нейтральное положение — цифру 0. Нижнее положение — цифру -1.

Наклонная панель управления предназначена для ручного управления с помощью ключей и кнопок.

Ключи „Набор команды“ предназначены для ввода и выполнения команды.

Ключи „Адрес останова“ предназначены для набора адреса останова.

Ключ „Останов по адресу С,К“ предназначен выбора условия останова машины.

Ключ „МБ-ФК-ВП“ предназначены для ввода кода.

Ключ „Набор кода“ предназначены для ввода кода останова.

Кнопка „Останов“ предназначена для останова машины.

Кнопка „Пуск“ предназначена для пуска машины.

Кнопка „Команда ПУ“ предназначена для выполнения команды вручную с пульта управления.

Кнопка „Начальный Пуск“ предназначена начального пуска машины.

Ключ „Однократный режим“ предназначен для перевода в однократный режим работы машины.


Проверка результата.

Code: Select all

$ ./setun_emulator 
=== Демонстрация работы эмулятора Сетунь ===


--- Событие 1: Включение питания ---
Питание включено
Переход: Выключено -> Ожидание
Регистры: 000000000000000000
Однократный режим: выключен
Точки останова: не установлены

--- Событие 2: Кнопка Команда ---
Начало ввода команды
Переход: Ожидание -> Ввод команды
Регистры: 000000000000000000
Однократный режим: выключен
Точки останова: не установлены

--- Событие 3: Выполнение завершено ---
Команда выполнена
Переход: Ввод команды -> Ожидание
Изменен регистр 12: -
Регистры: 000000000000-00000
Однократный режим: выключен
Точки останова: не установлены

--- Событие 4: Однократный режим ---
Включен однократный режим
Переход: Ожидание -> Однократный режим
Регистры: 000000000000-00000
Однократный режим: включен
Точки останова: не установлены

--- Событие 5: Выполнение завершено ---
Шаг выполнен. Ожидание следующего шага
Переход: Однократный режим -> Ожидание
Изменен регистр 14: 0
Регистры: 000000000000-00000
Однократный режим: включен
Точки останова: не установлены

--- Событие 6: Кнопка Пуск ---
Пуск программы
Переход: Ожидание -> Выполнение
Изменен регистр 1: -
Регистры: 0-0000000000-00000
Однократный режим: включен
Точки останова: не установлены

--- Событие 7: Установка точки останова ---
Останов по точке останова
Переход: Выполнение -> Точка останова
Регистры: 0-0000000000-00000
Однократный режим: включен
Точки останова: не установлены

--- Событие 8: Кнопка Пуск ---
Продолжение выполнения
Переход: Точка останова -> Выполнение
Изменен регистр 16: +
Регистры: 0-0000000000-000+0
Однократный режим: включен
Точки останова: не установлены

--- Событие 9: Программа остановлена ---
Программа завершена
Переход: Выполнение -> Ожидание
Регистры: 0-0000000000-000+0
Однократный режим: включен
Точки останова: не установлены

--- Событие 10: Выключение питания ---
Переход: Ожидание -> Выключено
Регистры: 0-0000000000-000+0
Однократный режим: включен
Точки останова: не установлены

=== Работа эмулятора завершена ===
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)