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

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

Moderator: haqreu

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

Re:

Post by askfind »

Mac Buster wrote:
Shaos wrote:Давай готовить к выкладыванию на ternary.info
Я почему-то думал что она уже там и совершенно успокоился, а оно, оказывается, совсем не там, а на моём сайте :)
Привет!

С целью вернуть проект в интернет, зарегистрировал доменное имя trinary.su.
Домен trinary.su зарегистрирован через «Джино»
Предлагаю объединить усилия и продолжить активно развивать тему. Отдельный сайт нужен! Предлагайте идеи, способ взаимодействия. Есть группа в VK:
Setun-1958 (Троичный компьютер "Сетунь") - https://vk.com/wall-165373461

Пошёл по ссылкам автора ресурса и сделал копию проекта https://github.com/trinarygroup/trinary.ru#readme для генерации сайта на основе генератора статических сайтов ruby.

В Ubuntu установил необходимые инструменты:

Code: Select all

ivan@linmac:~/trinary.ru$ bundle exec jekyll serve
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 2.695 seconds.
 Auto-regeneration: enabled for '~/trinary.ru'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.
[2020-07-04 11:37:02] ERROR `/assets/favicon.png' not found.
Не составит труда заменить в проекте для ruby на доменное имя trinary.su

Для отладки пользуюсь троичным калькулятором, сделанный автором. Постоянно необходимо для отладки симулятора "Setun-1958" на С.

P.S.
1) Регистрация доменного имя trinary.ru закончится 27.07.2020. Подожду до этой даты.
2) Публикации на http://ternary.info готов готовить. Как это сделать? Что именно публиковать?
3) Архив с генерированным сайтом. Можно запускать локально (Команда

Code: Select all

 python -m pelican.server
)
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 »

1. Хосе Рамиль Альварес о троичной информатике на ВМК //[видео] .- Москва .- Университет МГУ .- Декабрь .- 2018 г. - https://youtu.be/sRVF0UMzovA2018


Хосе́ Рами́ль А́льварес[1] (род. 3 июня 1940, Тишково, Московская область) — советский и российский программист с испанскими этническими корнями, ведущий научный сотрудник НИЛ ТИ (Научно-исследовательская лаборатория троичной информатики) ВМК МГУ.

Известен как автор трудов по программированию, переводчик на испанский язык, ведущий системный программист первых троичных компьютеров «Сетунь» и «Сетунь-70», руководитель разработки программного оснащения компьютерной системы обучения «Наставник».

Труды
Монографии

Микрокомпьютерная система обучения «Наставник» — М., Наука, 1990, 224 c. (соавт. Брусенцов Н. П., Маслов С. П.);
Базисный Фортран — М., изд-во МГУ, 1982 (соавт. Александров А. Л., Брусенцов Н. П. и др.);
Концептуальная характеристика РИИИС-процессора // Интегрированная система обучения, конструирования программ и разработки учебных материалов (учебно-метод. пособие) — М., ф-т ВМК МГУ, 1996 (соавт. Брусенцов Н. П., Маслов С. П., Сидоров С. А.).

Переводы

Автор перевода на испанский язык книги: Будак Б. М., Самарский А. А., Тихонов А. Н. Сборник задач по математической физике (М., Мир, 1984; 2-е изд.: McGraw-Hill / Mir, Испания, 1992—1993).
Основные из научных работ

Опубликовал более 70 научных работ, основные из которых:

Простые алгоритмы переводов p->p −1 и p->p+1 // Вычислительная техника и вопросы кибернетики, вып. 13 — М., изд-во МГУ, 1977;
Программное оснащение автоматизированной системы обучения «Наставник» // Управление учёбой с помощью мини-компьютера — М., изд-во МГУ, 1978;
Automatic colour vision diagnostics. // Soviet Psychology — Moscow, 1984. (соавт. Брусенцов Н. П., Соколов Е. Н., Измайлов Ч. А., Маслов С. П., Зимачев М. М.);
Опыт создания троичных цифровых машин // В сб.: Computers in Europe. Past, Present and Future — Киев: Феникс, 1998 (соавт. Брусенцов Н. П., Маслов С. П., Жоголев Е. А.);
Компьютеры и обучение. Вестн. Моск. ун-та, сер. Педагогическое образование, 2005, № 1, (соавт. Брусенцов Н. П., Владимирова Ю. С.);
Н. П. Брусенцов, Рамиль Альварес Хосе — История отечественной вычислительной техники, Материалы международной конференции SORUCOM 2006 (3-7 июля 2006 года)
Алгоритмы деления и извлечения квадратного корня в троичной симметричной системе // Вестн. Моск. ун-та, сер. 15: Вычислит. математ. и киберн., № 2, 2008.

Признание и награды

Заслуженный научный сотрудник Московского университета (1999).

Награждён медалями «Ветеран труда» и «В память 850-летия Москвы» (1997), бронзовыми медалями ВДНХ СССР (1984, 1986).
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

Цитата из книги Н. В. Гоголя "Мертвые души":[
"... Ничего не прочитаешь в хладных, бесчувственных чертах бесчеловечной старости..."
Продолжаю "оживлять мертвую душу" малой цифровой троичной машины.

Навёл порядок о комментариях к исходному коду. Добавил пару функций. Ещё раз посмотрел реализацию
эмулятора. Было три варианта.

Первый вариант - это реализация функций ферритового цифрового элемента Н.П.Брусенцова. Подход
интересный для реализации FPGA. Функции являются обычными цифровыми двоичными элементами, у которых два сигнальных выхода.

Code: Select all

/*
*  Элемент "BTE-00"
*
*   in[A]
*      A1=A;
*   out[Y5]
*       Y5 = A
*/
typedef struct bte_00_st
{
     S8 a1;
     S8 y5;
     S8 fc1;
     S8 fc2;
     S8 fc3;        
} bte_00_st_t;
Второй вариант - это реализация библиотеки троичных вычислений от Рамиль Альварес Хосе, разработчика программного обеспечения для троичной машины. Удобный для программирования, но не оптимальный для реализации в микроконтроллерах.

Code: Select all

typedef struct trin {
 int n;
 int trit[SIZE_WORD_LONG];
} trit_t;
Третий вариант - это представление тритов как поле из бит. Позволяет выполнять быстрые
операции в ARM-процессорах, заменив в будущем фрагменты кода на Си вызовом функций на ассемблере.

Code: Select all

/**
 * Тип данных троичного числа
 */
typedef struct trs {
 int16_t  w;			/* знак троичного числа						*/
 int16_t  l;			/* длина троичного числа в тритах			*/
 uint64_t tb; 			/* двоичное битовое поле троичного числа 	*/
} trs_t;

"Эмулятор Сетунь-1958 вер. 1.12 на языке СИ"

Вывод содержания ферритовой памяти:

Code: Select all

-- DUMP FRAM SEUN-1958 ---
ram[  54] ( 0:-27) = [110-10-1011], (8482), 13XX4
ram[  55] ( 0:-26) = [10110-1011], (7510), 113X4
ram[  56] ( 0:-25) = [1-1100-11-1-1], (5081), 1Y0YW
ram[  57] ( 0:-24) = [000000000], (0), 00000
ram[  58] ( 0:-23) = [-1-1-1-110-110], (-9645), ZWYZ3
ram[  59] ( 0:-22) = [1-10-110100], (4221), 1XY10
ram[  60] ( 0:-21) = [0-1-100-11-10], (-2937), 0W0YX
ram[  61] ( 0:-20) = [-101-100-100], (-6084), Z1XZ0
ram[  62] ( 0:-19) = [-100111000], (-6210), Z0430
ram[  63] ( 0:-18) = [-100011010], (-6450), Z0133
ram[  64] ( 0:-17) = [-1001010-10], (-6294), Z033X
ram[  65] ( 0:-16) = [1-11-110100], (4950), 1YY10
Продолжаю разбираться с троичной адресацией памяти. Возможно начало зоны Z=0 вместо ram[ 54] ( 0:-27) нужно использовать вот это ram[ 54] ( 0:-26). В описании работы машины этот момент описан неточно.

Вывод регистров машины Сетунь-1958 и выполнение кода операции:

Code: Select all

oper  k6..8 = 000 : A*=>(C)
[ Dump Setun-1958: ]
  K: [-111000010], (-3642), Z4003
  F: [00000], (0), 000
  WF: [0], (0), 0
  C: [-11100], (-45), Z40
  S: [000000000000000000], (0), 0000000000
  WS: [0], (0), 0
  R: [000000000000000000], (0), 0000000000
  WR: [0], (0), 0
oper  k6..8 = 00+ : (C)=>(A*)
[ Dump Setun-1958: ]
  K: [000000000], (0), 00000
  F: [00000], (0), 000
  WF: [0], (0), 0
  C: [00000], (0), 000
  S: [000000000000000000], (0), 0000000000
  WS: [0], (0), 0
  R: [000000000000000000], (0), 0000000000
  WR: [0], (0), 0
Получилось удобно, на мой взгляд. Печатаю троичное представление числа, десятичное, и 9-тиричное.
Фактически происходит дизассемблирование кода операции для отладки программ.

Чтение программ:

Исходные программы для троичной машины Сетунь-1958 - это текстовый ascii-файл, в котором
реализован способ ввода исходных кодов и данных в текстовом виде.

Code: Select all

 --- RUN SETUN-1958 --- 

 --- Load 'test-1.txs' --- 
01yz0
0110x
101x0
11wx4
11wxy
003z0
...
МАТЕМАТИЧЕСКОЕ ОБСЛУЖИВАНИЕ ДЛЯ МАШИНЫ «СЕТУНЬ»

Начал перенос распечаток реализации интерпретаторов из книг по обслуживанию троичной машины. Хочется запустить ИП-5 - библиотеку с плавающей запятой повышенной точности.

(Ваша помощь очень помогла бы сократить время на ввод, проверку и отладку).

Code: Select all

├── ip5_drum_1w_setun.txs
├── ip5_drum_1x_setun.txs
├── ip5_drum_1y_setun.txs
├── ip5_drum_1z_setun.txs
├── ip5_fram_00_setun.txs
ИДЕИ

Для обсуждения будущей версии эмулятора "Сетунь-58/20". Хочется расширить адреса FRAM.

В 'Сетунь-1958' одноадресная команда занимает 9-трит: K(1:9)

Для 'Сетунь-58/20' использовать 18 трит: KE(1:9)K(10:18), где K(10:18) = K(1:9), а KE(1:9) - это расширение адреса. А также использовать три неиспользованные кода операции для работы.

Получается KAaddr(1:9)Kaddr(1:5) = ADDR(-11076674 ...0... +11076674) Физическая память составит 22153348 из 9-трит.

Code: Select all

ЗАМЕТКИ О ТРОИЧНОЙ ЦИФРОВОЙ ТЕХНИКЕ - ЧАСТЬ 2
Н. П. Брусенцов

АРХИТЕКТУРА ЦИФРОВОЙ МАШИНЫ "СЕТУНЬ"

Подтвердим сказанное кратким описанием архитектуры машины "Сетунь"
[5]. Ее можно охарактеризовать как одноаккумуляторную, с индекс-регистром и
одноадресным форматом команд. Длина аккумулятора 18 тритов, длина ячеек
главной памяти 9 тритов, что эквивалентно 14,3 бита. Команды занимают по
одной ячейке памяти, а операнды могут занимать как по одной, так и по две
ячейке, рассматриваемые как одно 18-тритное слово.

Девять тритов, кодирующих команду К(1:9), разделяются на код операции
К(6:8) и адресную часть К(1:5)К(9). Первые четыре трита К(1:4) адресной части
составляют адрес пары 9-тритных ячеек, обращение к которым производится
трояко в зависимости от значения К(5): при К(5)=0 доступна одна из этих ячеек,
при К(5) =1 - другая, при К(5)=-1-18-тритное слово, младшей частью которого
является ячейка, соответствующая К(5)=1, а старшей - ячейка,
соответствующая К(5) =0. Трит К(9) управляет индексацией так, что
исполнительный адрес ЕА определяется выражением
EA(1:5)=K(1:5)+K(9)*F(1:5), где F(1:5) - индекс-регистр. Поскольку K(9) принимает значения 0, 1, - 1, то EA
равно либо К(1:5), либо K(1:5)+F(1:5), либо K(1:5)-F(1:5).
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

СРЕДСТВА АВТОМАТИЗАЦИИ ПРОГРАММИРОВАНИЯ.

1.1. Кузнецов СИ. Военно-воздушная инженерная академия имени
Н.З. Жуковского. Транслятор ТС-2 для ЭЦВМ «Сетунь».

Транслятор ТС-2 предназначен для составления рабочих программ с использованием ИП-Нтр [1.2] по описанию алгоритма, выполненного на упрощенном языке АЛГОЛ-60. В упрощенном варианте языка нет логических переменных, нет индексных и именующих выражений, используются только условные операторы перехода. Разрешается использование массивов переменных, циклов трех типов, процедур без рекурсий. Метки, помещенные в процедуре, и переменные, описанные в процедуре, локализуются. Использование процедур-функций запрещено.

После составления рабочей программы транслятором возможны следующие режимы работы: счет, отладка с использованием «программы отладки программ» [1.3], выдача рабочей программы на печать, выдача рабочей программы на перфоратор (вместе с программой ввода и зоной контрольных сумм).

Характеристика транслятора:

1. Транслятор работает с серийной машиной, имеющей барабан емкостью
36 зон, и занимает 17 зон. Транслятор размещается на месте интерпретирующей системы ИП-Нтр с зоны 18 до зоны 23. Задание и составляемая программа занимают 19 зон. Рабочая программа по мере её составления занимает место задания.
2. Рабочая программа составляется за три просмотра, включая сжатие программы за счёт устранения ненужных и дублирующих пересылок
3. Длина рабочих программ не более 16 зон.
4. Глубина циклов не более 8.
5. Глубина арифметических скобок но более 11.
6. Количество индексов не более 2.
7. Количество операций в одном выражении не более 53.
8. Время трансляции 16 зон исходного задания около 30 минут.

Литература:
С.И. Кузнецов. Система автоматизации программирования. Материалы по
математическому обслуживанию ЦВМ «Сетунь». Изд. ВВИА, М., 1966.
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 »

trinary.ru -> trinary.su

trinary.ru - сайт не работает. Доменное имя не понятно на кого зарегистрировано.
Информация реестра
Домен TRINARY.RU
Сервер DNS ns1.expired.ru.
Сервер DNS ns2.expired.ru.
Соcтояние зарегистрирован, делегирован, не проверен
Администратор домена Частное лицо «Private Person»
Регистратор RU-CENTER-RU
Дата регистрации 2020-07-28T14:05:59Z
Дата окончания регистрации 2021-07-28T14:05:59Z
Дата окончания периода
преимущественного продления 2021-08-28
Готовлю VPS-сервер и готовлю копию сайта trinary.ru для переноса на trinary.su.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

Запуск сервера http://trinary.su

Сайт с эмулятором SetunBC (Сетунь-1958) на javascript перенёс на новый домен.

Буду благодарен, если у кого-нибудь осталась копия-зеркала прошлого сайта trinary.ru. Необходимо восстановить ссылки на материалы http://trinary.su/kb
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

А с автором пробовал связываться?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

Shaos wrote:А с автором пробовал связываться?
Попытки были. Оправил автору сайта trinary,ru сообщение в https://twitter.com/sprql. Может и отзовется.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

Shaos wrote:А с автором пробовал связываться?
Получил ответ от Alexander Obukhov:
Добрый день! Спасибо за ваше сообщение, сайт http://trinary.ru переехал на https://trinary.computer. Здорово, что тема Сетуни кому-то интересна. Вы можете использовать материалы сайта с указанием ссылки на https://github.com/trinarygroup или https://trinary.computer
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

Интересно - а я держу доменное имя ternary.computer :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

Shaos wrote:Интересно - а я держу доменное имя ternary.computer :mrgreen:
Предлагаю объединить усилия. Совместно развивать тему. Автору trinary.ru послал предложения вместе развивать троичную технологию. Ожидаю ответа.

На мой взгляд, необходимо улучшить сайт истории троичной машины "Сетунь-1958", "Сетунь-1970".

Вчера разбирался как ssl для сайта islife.ru ("Умный кремний") настроить. Перехожу на генератор статических сайтов hugo.

Нужна симпатичная структура сайта trinary.su, новые разделы сайта. Добавить эмулятор на С. Кстати, использовал транслятор с языка Си в webasm эмулятора "Сетунь-1958" https://developer.mozilla.org/en-US/doc ... /C_to_wasm Можно добавлять на страницы сайта и удобство попробовать посетителям запустить эмулятор на js.

У тебя большой объём материалов по троичной тематики с уникальным результатом. материалами.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

askfind wrote:У тебя большой объём материалов по троичной тематики с уникальным результатом. материалами.
да мне свои сайты наполнять нету времени, не то что чужие :no:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

А что-то мне тут в закоулках интернета попалась какая-то атипичная фотография "Сетуни"...
setun-6.jpg
Фейк? :roll:
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: поразрядное логическое умножение

Post by Lavr »

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

Число из регистра S посредством переключателя П2 может быть направлено по одному из четырех каналов. При выполнении команды сложения или вычитания оно подается на вход сумматора арифметического устройства одновременно с поступлением на второй вход этого сумматора числа, выбранного из оперативной памяти. При умножении число из регистра S может быть послано либо в регистр R в качестве множителя, либо на вход множительного устройства в качестве множимого. В случае записи содержимого регистра 5 в оперативную память переключатель П2 соединяет выход регистра 5 с входом регистра запоминающего устройства.
Так всё же что конкретно делало это множительное устройство?
Из двух вариантов: поразрядное логическое умножение или всё же обычное умножение, знакомое нам с детства?
По ссылке в начале моей цитаты: http://arvi.livejournal.com/144849.html приводится следующая таблица
для «функции 20» = поразрядное логическое умножение = обычное умножение, "знакомое нам с детства":
MUL-3.gif
Тогда, если придерживаться текста цитаты выше, в "множительном устройстве" "Сетуни" напихано 18 таких элементов? :roll:
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 »

Lavr wrote:А что-то мне тут в закоулках интернета попалась какая-то атипичная фотография "Сетуни"...
И ещё одна атипичная, но - с другого ракурса! :roll:
setun11.jpg
You do not have the required permissions to view the files attached to this post.
iLavr