nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 16 Feb 2019 10:22



Reply to topic  [ 94 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Троичная ЭВМ "Сетунь" (1958) 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post Re:
Lavr wrote:
...особенно мне показался интересным вот такой факт:
Quote:
В таблице команд машины «Сетунь» не было ни конъюнкции, ни дизъюнкции.
Наряду с арифметическими операциями там была единственная «функция 20»,
поразрядное логическое умножение. Это обычное умножение, знакомое нам с детства

Если взглянуть на блок-схему машины «Сетунь» :
Attachment:
setun.gif
setun.gif [ 9.07 KiB | Viewed 1285 times ]

Есть там такой блок:"множительное устройство", про которое пишут следующее:
Quote:
В арифметическом устройстве имеется два регистра: регистр множителя R и регистр результата S (аккумулятор). Регистр R состоит из 18 триггеров, управляющих ключами множительного устройства. Регистр S представляет собой 18-разрядный триггерный регистр со сдвигом влево и вправо.

Число из регистра S посредством переключателя П2 может быть направлено по одному из четырех каналов. При выполнении команды сложения или вычитания оно подается на вход сумматора арифметического устройства одновременно с поступлением на второй вход этого сумматора числа, выбранного из оперативной памяти. При умножении число из регистра S может быть послано либо в регистр R в качестве множителя, либо на вход множительного устройства в качестве множимого. В случае записи содержимого регистра 5 в оперативную память переключатель П2 соединяет выход регистра 5 с входом регистра запоминающего устройства.

Так всё же что конкретно делало это множительное устройство?
Из двух вариантов: поразрядное логическое умножение или всё же обычное умножение, знакомое нам с детства?

_________________
iLavr


30 Nov 2017 08:17
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Что-то у меня такое подозрение, что множительное устройство - это своеобразный мультиплексор,
осуществляющий сдвиг на заданное число разрядов.
Комбинируя сдвиг с операциями суммирования и вычитания можно действительно получить довольно
быстрое целочисленное умножение.

_________________
iLavr


30 Nov 2017 16:16
Profile
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 404
Location: Spb
Reply with quote
Не знаю, но во многих источниках, это устройство в текстовом виде описывается весьма странно. Типа умножение (-1|0|+1), что конкретно это значит, немного понятно из некоторых описаний системы команд Сетуни, но совсем не понятно с практической точки зрения.
При сложении двух чисел максимального значения, получается число той же разрядности + перенос. При умножении должно получится число двойной размерности + перенос.
Почему у Сетуни результат опять копируется в S (вроде как аккумулятор) не очень понял. Возможно предполагается умножение чисел менее половины от S. Про этот регистр пишут, что он как бы 19 трит, но программисту видно 18 - вот он трит переноса!


30 Nov 2017 16:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Ну а я не вижу для "Сетуни" иной возможности быстро умножать.
Поскольку любой другой аппаратный умножитель представляет собой примерно вот такое "чудо":
Attachment:
mult.gif
mult.gif [ 17.57 KiB | Viewed 1273 times ]

С ним бы "Сетунь" распухла до размеров "Энниака"... :lol:

_________________
iLavr


30 Nov 2017 16:47
Profile
Doomed
User avatar

Joined: 21 Mar 2017 13:50
Posts: 404
Location: Spb
Reply with quote
Я пасс в этих умножениях, ибо для по-тритных они бессмысленны для симметричной системы.


30 Nov 2017 17:06
Profile
Doomed

Joined: 10 Mar 2012 17:21
Posts: 598
Location: РФ
Reply with quote
Для удобства продублирую и здесь :
команды "Сетунь" :
 
Программно доступны 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)



02 Dec 2017 05:26
Profile
Fanat
User avatar

Joined: 04 Jan 2016 10:15
Posts: 67
Location: Russia, S.- Peterburg
Reply with quote
Всем привет! Ищу подробную документацию по МЭВМ "Сетунь" с целью изготовить элементы цифровых элементов на ферритовых кольцах, собрать программное обеспечение, собрать процессор на ферритах.

_________________
"Где просто, там ангелов со сто, а где мудрено, там ни одного" (С)


17 Apr 2018 07:34
Profile WWW
Fanat
User avatar

Joined: 04 Jan 2016 10:15
Posts: 67
Location: Russia, S.- Peterburg
Reply with quote
ПОХОД В БИБЛИОТЕКУ

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

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

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

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

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

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

Сайт библиотеки - http://nlr.ru/


Attachments:
File comment: Национальная Российская библиотека, г. С.-Петербург, 2018.
nlr_mini.jpg
nlr_mini.jpg [ 151.3 KiB | Viewed 715 times ]
File comment: Книга из фондов "МЦВМ Сетунь", 1965 г.
setun_mini.jpg
setun_mini.jpg [ 170.41 KiB | Viewed 715 times ]

_________________
"Где просто, там ангелов со сто, а где мудрено, там ни одного" (С)
12 Nov 2018 10:46
Profile WWW
Fanat
User avatar

Joined: 04 Jan 2016 10:15
Posts: 67
Location: Russia, S.- Peterburg
Reply with quote
Мне не хватает единомышленников и постоянного контакта "с братьями по разуму", которые увлечены построением троичного компьютера.

Автор сайта 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 процессоры. Для чего? А почему бы не использовать эмулятор "Сетунь", например для контроллеров с датчиками. Архитектура Сетунь имеет потенциал построения как отладки, так и надёжного выполнения алгоритмов...

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



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

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

Код:

Code:
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$

_________________
"Где просто, там ангелов со сто, а где мудрено, там ни одного" (С)


18 Nov 2018 06:27
Profile WWW
Doomed
User avatar

Joined: 27 Jul 2018 13:07
Posts: 402
Reply with quote
askfind wrote:
Мне не хватает единомышленников и постоянного контакта "с братьями по разуму", которые увлечены построением троичного компьютера.


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


18 Nov 2018 06:54
Profile
Fanat
User avatar

Joined: 04 Jan 2016 10:15
Posts: 67
Location: Russia, S.- Peterburg
Reply with quote
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/brusencov_minipc1979.html в ней есть глава с описанием PDP-8 и программное обеспечение для этого примитивного одноадресного процессора. Имеется реализация FORTRAN, PASCAL, BASIC и др. Ресурсы для миникомпьютера, по сегодняшним меркам, это не скромный микроконтроллер на кристалле.

_________________
"Где просто, там ангелов со сто, а где мудрено, там ни одного" (С)


18 Nov 2018 08:03
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
askfind wrote:
В FPGA - имеется режим троичных элементов. Читал новость.
Здесь подробнее - https://marsohod.org/11-blog/239-ternary

Attachment:
joke1a.gif
joke1a.gif [ 14.72 KiB | Viewed 551 times ]

_________________
iLavr


19 Nov 2018 12:16
Profile
Fanat
User avatar

Joined: 04 Jan 2016 10:15
Posts: 67
Location: Russia, S.- Peterburg
Reply with quote
Lavr wrote:


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

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

Написать триггер и логические элементы для FPGA не представляет сложности.

_________________
"Где просто, там ангелов со сто, а где мудрено, там ни одного" (С)


20 Nov 2018 03:56
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
askfind wrote:
Жаль. :) Тогда троичные элементы необходимо синтезировать из бинарных гейтов.

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

Может быть и там была "щютка", но по индийскому календарю... :wink:

_________________
iLavr


20 Nov 2018 04:52
Profile
Doomed
User avatar

Joined: 27 Jul 2018 13:07
Posts: 402
Reply with quote
Lavr wrote:
askfind wrote:
Жаль. :) Тогда троичные элементы необходимо синтезировать из бинарных гейтов.

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

Может быть и там была "щютка", но по индийскому календарю... :wink:


Возможно эта статья?
https://www.researchgate.net/publicatio ... plications


20 Nov 2018 06:04
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 94 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.