Троичная ЭВМ "Сетунь" (1958)

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

Moderator: haqreu

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re:

Post by Lavr »

Lavr wrote:...особенно мне показался интересным вот такой факт:
В таблице команд машины «Сетунь» не было ни конъюнкции, ни дизъюнкции.
Наряду с арифметическими операциями там была единственная «функция 20»,
поразрядное логическое умножение. Это обычное умножение, знакомое нам с детства
Если взглянуть на блок-схему машины «Сетунь» :
setun.gif
Есть там такой блок:"множительное устройство", про которое пишут следующее:
В арифметическом устройстве имеется два регистра: регистр множителя R и регистр результата S (аккумулятор). Регистр R состоит из 18 триггеров, управляющих ключами множительного устройства. Регистр S представляет собой 18-разрядный триггерный регистр со сдвигом влево и вправо.

Число из регистра S посредством переключателя П2 может быть направлено по одному из четырех каналов. При выполнении команды сложения или вычитания оно подается на вход сумматора арифметического устройства одновременно с поступлением на второй вход этого сумматора числа, выбранного из оперативной памяти. При умножении число из регистра S может быть послано либо в регистр R в качестве множителя, либо на вход множительного устройства в качестве множимого. В случае записи содержимого регистра 5 в оперативную память переключатель П2 соединяет выход регистра 5 с входом регистра запоминающего устройства.
Так всё же что конкретно делало это множительное устройство?
Из двух вариантов: поразрядное логическое умножение или всё же обычное умножение, знакомое нам с детства?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичная ЭВМ "Сетунь" (1958)

Post by Lavr »

Что-то у меня такое подозрение, что множительное устройство - это своеобразный мультиплексор,
осуществляющий сдвиг на заданное число разрядов.
Комбинируя сдвиг с операциями суммирования и вычитания можно действительно получить довольно
быстрое целочисленное умножение.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичная ЭВМ "Сетунь" (1958)

Post by Lavr »

Ну а я не вижу для "Сетуни" иной возможности быстро умножать.
Поскольку любой другой аппаратный умножитель представляет собой примерно вот такое "чудо":
mult.gif
С ним бы "Сетунь" распухла до размеров "Энниака"... :lol:
You do not have the required permissions to view the files attached to this post.
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: Троичная ЭВМ "Сетунь" (1958)

Post by petrenko »

Для удобства продублирую и здесь :
команды "Сетунь" :

 
Программно доступны A , C , F , R , S , Ф1 , M
--x три оп.кода незадействованы
_________
-0- Считывание с МБ
_________
-00 Ввод в Ф1
_________
-0+ Запись на МБ
_________
-+- Нормализация
_________
-+0 Сдвиг | {Сдв (S) на (A)}=>(S)
_________
-++ Запись из S | (S)=>(A)
_________
0-- Сложение в F | (A)=>(F)
_________
0-0 Посылка в F | (A)=>(F)
_________
0-+ Сложение в C с посылкой | (A)+(C)=>(F)
_________
00- Запись из F | (F)=>(A)
_________
000 Безусловный переход | A=>(C)
_________
00+ Запись из C | (C)=>A
_________
0+- УсловныйПереход УП- | A=>(C)при
_________
0+0 УсловныйПереход УП0 | A=>(C)при
_________
0++ УсловныйПереход УП+ | A=>(C)при
_________
+-- "Останов"
_________
+-0 Поразрядное умножение | (A)«tmul»(S)=>(S)
_________
+-+ Посылка в R | (A)=>(R)
_________
+0- Вычитание в S | (S)-(A)=>(S)
_________
+00 Посылка в S | (A)=>(S)
_________
+0+ Сложение в S | (S)+(A)=>(S)
_________
++- Умножение1 | (A)+(S)*(R)=>(S)
_________
++0 Умножение2 | (S)>(R) ; (A)*(R)=>(S)
_________
+++ Умножение3 | (S)+(A)*(R)=>(S)


User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичная ЭВМ "Сетунь" (1958)

Post by askfind »

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

Re: Троичная ЭВМ "Сетунь" (1958)

Post by askfind »

ПОХОД В БИБЛИОТЕКУ

Российская национальная библиотека, Санкт-Петербург

Тема троичного компьютера постоянно теребит меня. Захотелось получить книгу из фондов библиотеки.

У меня есть PDF версия "Малая цифровая вычислительная машина "Сетунь". Год издания 1965. Эту книгу добрый человек отсканировал в Германии. Однако несколько страниц получились неполными.

Кстати, эта книга о первом троичном компьютере на ферритах! "Сетунь" выпускалась массовым тиражом в городе Казань на заводе математических машин.

Современная библиотека. Зашёл посмотреть новые книги, которые поступили в библиотеку.

Можно пройти в столовая и выпить вкусный горячий кофе.

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

Re: Троичная ЭВМ "Сетунь" (1958)

Post by askfind »

Мне не хватает единомышленников и постоянного контакта "с братьями по разуму", которые увлечены построением троичного компьютера.

Автор сайта http://trinary.ru не выходит на связь. Он проделал огромную работу. Ох, и оторвался бы с ним, подробно обсуждая тему троичной истории.

Я написал письмо Рамилю Альваресу Хосе, программисту и создателю Сетунь-1985. Он мне ответил! Письмо тёплое, доброе. Я попросил его помощи в консультации создания ассемблера для троичной системы команд Сетунь. Спросил о тестах для МЦВМ "Сетунь".

Летом испытывал реализацию языка программирования 'BASICT' https://github.com/askfind/stm8s_iot_le ... _v3/basict для скромнейшего микроконтроллера stm8s003.

Вот и появилась жгучая идея переписать BasicT и сделать его полностью троичным.

Как считаете? Интересная затея?

Посмотрел реализацию троичных операций у Рамиля Альвареса Хосе http://ternarycomp.cs.msu.su/Papers/Sborn12_Ramil.pdf Конечно это неоптимальный вариант для переноса эмулятора Сетунь на микроконтроллер. Однако простота хранения тритов в виде '-1,0,+1' лично мне понятна и легко усваивается головой.

Его идея использовать структуру с int для поля тритов понравилась. Я переписал первые черновые функции с использованием типа данных int. Продолжил реализацию троичных операций для эмуляторе Сетунь.

Вторая версия эмулятора будет использовать хранение трита в виде двух бинарных значений. Повторить реализацию студента Дорошенко Е.Ю. в публикации здесь - https://scienceforum.ru/2014/article/2014004155

Какие преимущества использовать двоичные биты? Простота и компактность троичных вычислений и легкость переноса на ARM процессоры. Для чего? А почему бы не использовать эмулятор "Сетунь", например для контроллеров с датчиками. Архитектура Сетунь имеет потенциал построения как отладки, так и надёжного выполнения алгоритмов...

Вот цитата из публикации:
Один троичный разряд можно представить двумя двоичными разрядами,при этом введем следующее соответствие между двоичными и троичными числами:двоичная комбинация 00 соответствует троичному нулю, 10 - единице, 01 - минус единице, а комбинация 11 является недопустимой.

Эмулятор МЦВМ "Сетунь" пишу на языке Си. Базовые операции с тритами отлаживаю. приступил к одноадресным операциям "Сетунь".

Это моя функция распечатки состояний регистров Сетунь в троичном, десятичной и девятиричном виде:

Код:

Code: Select all

A.n=18   [000000000000000000]  (0), 000000000
K.n=9   [000000000]  (0), 00000
F.n=5   [01100]  (36), 040
WF.n=1   [0]  (0), 0
C.n=5   [00000]  (0), 000
S.n=18   [0000000000-110101-1-1]  (-1372), 00000Y11W
WS.n=1   [0]  (0), 0
R.n=18   [000000000000000010]  (3), 000000003
WR.n=1   [0]  (0), 0
$/work_SETUN/SetunCore_x86$
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
TernarySystem
Doomed
Posts: 625
Joined: 27 Jul 2018 12:07

Re: Троичная ЭВМ "Сетунь" (1958)

Post by TernarySystem »

askfind wrote:Мне не хватает единомышленников и постоянного контакта "с братьями по разуму", которые увлечены построением троичного компьютера.
Ваша тема очень интересная и разместили Вы её на правильном форуме, я так понял что единомышленников можно найти только здесь благодаря основателю Shaos который делает теплую демократическую поддержку реализации троичности. Но вот исходя из цитаты реализация Сетуни позволяет увидеть только квази троичность?
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичная ЭВМ "Сетунь" (1958)

Post by askfind »

TernarySystem wrote:
askfind wrote:Мне не хватает единомышленников и постоянного контакта "с братьями по разуму", которые увлечены построением троичного компьютера.


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

Можно собрать "железный" компьютер на ферритах по технологии Н.Б. Брусенцова - набор цифровых троичных модулей. :) Но зачем уж так буквально возвращаться в 1957 год?

В FPGA - имеется режим троичных элементов. Читал новость. Здесь подробнее - https://marsohod.org/11-blog/239-ternary

Моделирование копьютера Сетунь и троичных цифровых элементов на ферритовых кольцах (пороговый вариант) позволит написать Т.З. для набора "железных" троичных элементов для FPGA.

Почему ядро Сетунь-1958?

Это и история, и промышленный компьютер, и документация, и программное обеспечение. Обозначения ввод/вывод результатов на TTY устройства.

Программное обеспечение важная часть проекта. Я посмотрел методические рекомендации по использованию троичного компьютера. Можно использовать и "руками" перенести исходные коды программ.

Необходимо сделать редизайн ядра Сетун-1958 и определить свободные команды, например, вызов CALL и RET. Можно обсуждать.

Сетунь-1958 - это одноадресная архитектура.

Прототип двоичный компьютер PDP-8. Дочитал книгу Н.Б. Брусенцова "Миникомпьютеры" https://proklondike.net/books/thobshee/ ... c1979.html в ней есть глава с описанием PDP-8 и программное обеспечение для этого примитивного одноадресного процессора. Имеется реализация FORTRAN, PASCAL, BASIC и др. Ресурсы для миникомпьютера, по сегодняшним меркам, это не скромный микроконтроллер на кристалле.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичная ЭВМ "Сетунь" (1958)

Post by Lavr »

askfind wrote: В FPGA - имеется режим троичных элементов. Читал новость.
Здесь подробнее - https://marsohod.org/11-blog/239-ternary
joke1a.gif
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичная ЭВМ "Сетунь" (1958)

Post by askfind »

Lavr wrote:
Жаль. :) Тогда троичные элементы необходимо синтезировать из бинарных гейтов.

У Н.П. Брусенцов в статьях описаны методы синтез пороговых элементов. Написал модель ферритового тора троичного цифрового элемента Сетунь-1958. Эмуляция троичного счётчика из книги "МЦВМ Сетунь" от 1965 года успешно заработал.

Написать триггер и логические элементы для FPGA не представляет сложности.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичная ЭВМ "Сетунь" (1958)

Post by Lavr »

askfind wrote:Жаль. :) Тогда троичные элементы необходимо синтезировать из бинарных гейтов.
Но дыма без огня не бывает. Shaos писал где-то здесь в "троичности", что
были вроде как две статьи индийских авторов на похожую тематику.
Хотя и быстро исчезли из доступа...

Может быть и там была "щютка", но по индийскому календарю... :wink:
iLavr
User avatar
TernarySystem
Doomed
Posts: 625
Joined: 27 Jul 2018 12:07

Re: Троичная ЭВМ "Сетунь" (1958)

Post by TernarySystem »

Lavr wrote:
askfind wrote:Жаль. :) Тогда троичные элементы необходимо синтезировать из бинарных гейтов.
Но дыма без огня не бывает. Shaos писал где-то здесь в "троичности", что
были вроде как две статьи индийских авторов на похожую тематику.
Хотя и быстро исчезли из доступа...

Может быть и там была "щютка", но по индийскому календарю... :wink:
Возможно эта статья?
https://www.researchgate.net/publicatio ... plications
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Троичная ЭВМ "Сетунь" (1958)

Post by askfind »

Моделирование троичных элементов на ферритовых кольцах

void tte_4_v1_fn( S8 a, S8 b, S8 c, S8 d, tte_4_v1_st_t * tte_4_v1)
{
tte_4_v1->y8 = a*b+ a*c + a*d + b*c + b*d + c*d;
}
Вот такую схему удалось повторить программным способом.

Перенести на FPGA можно.
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичная ЭВМ "Сетунь" (1958)

Post by Lavr »

TernarySystem wrote:
Lavr wrote:
askfind wrote:Жаль. :) Тогда троичные элементы необходимо синтезировать из бинарных гейтов.
Но дыма без огня не бывает. Shaos писал где-то здесь в "троичности", что
были вроде как две статьи индийских авторов на похожую тематику.
Хотя и быстро исчезли из доступа...

Может быть и там была "щютка", но по индийскому календарю... :wink:
Возможно эта статья?
https://www.researchgate.net/publicatio ... plications
Возможно! Спасибо за подсказку! Вот только я тех статей увидеть не успел... :osad: Надо у Shaos-а спроосить...

Shaos, это случаем не упомянутые тобой ранее статьи индийских авторов?
Ternary Digital System: Concepts and Applications
iLavr