nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 09:08



Reply to topic  [ 28 posts ]  Go to page Previous  1, 2
Эмулятор троичной ЭВМ 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Mac Buster wrote:
Переходим к логическим командам. Собственно, она всего одна, рабочее название мнемоники - tlog (от trinary или ternary logic). Макросами определяются узкоспециализированные варианты команды: max, mid, min, mask, shift up, shift down И т.п.

Возражения есть ?


Две команды - унарная (конкретная функция задается тремя тритами) и бинарная (конкретная функция задается девятью тритами)


11 Oct 2005 16:21
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
По-моему все-таки она одна. Унарная получается из бинарной подстановкой "пустого" операнда.


24 Oct 2005 06:18
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Mac Buster wrote:
По-моему все-таки она одна. Унарная получается из бинарной подстановкой "пустого" операнда.


Это значит 6 трайтов никому не нужной пустоты


24 Oct 2005 16:35
Profile WWW
Novelist

Joined: 20 Oct 2005 18:46
Posts: 34
Reply with quote
Не знаю насколько уместно мое предложение.
Однако, считаю хорошей отправной точкой послужила бы реализация эмуляции МЦВМ Сетунь-70.
Во-первых, это реально работающая машина.
Во-вторых, это уже второе поколение троичных машин.
В-третьих, даже имея материал представленный на сайте computer-museum.ru, позволяет в общих чертах составить представление о методах ее реализации в виде эмулятора.
http://www.computer-museum.ru/histussr/0.htm


25 Oct 2005 07:02
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Alexandr wrote:
Не знаю насколько уместно мое предложение.
Однако, считаю хорошей отправной точкой послужила бы реализация эмуляции МЦВМ Сетунь-70.
Во-первых, это реально работающая машина.
Во-вторых, это уже второе поколение троичных машин.
В-третьих, даже имея материал представленный на сайте computer-museum.ru, позволяет в общих чертах составить представление о методах ее реализации в виде эмулятора.
http://www.computer-museum.ru/histussr/0.htm


Вот если бы был доступен софт - можно было бы и эмулятор сетуни написать ;)


25 Oct 2005 19:22
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Shaos wrote:

Вот если бы был доступен софт - можно было бы и эмулятор сетуни написать ;)


Это дело, кстати, не такое уж невозможное. В свете моей вероятной поездки к Брусенцову. Сейчас ему напишу, узнаю, что сохранилось. Возможно и в самом деле стоит написать эмулятор "Сетуни" или "Сетуни-70".


26 Oct 2005 00:01
Profile
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Продолжим обсуждение симулятора.

Можно хранить числа представленными в уравновешенной троичной системе счисления (используя для обозначения состояния разрядов латинские буквы N,O и P) в естественном порядке (слева направо от старших к младшим) заполняя разряды слева нулями. Для работы с числами предлагается следующий минимальный набор арифметических и вспомогательных операций:

1. Обнулить x (Clear)
2. Инвертировать x (Negate)
3. Копировать x в y (Copy)
4. Копировать x в y с инвертированием (CopyN)
5. Сравнить x и y (Compare)
6. Сдвинуть x вправо (разделить на три), предварительно скопировав младший разряд во флаг переноса c, затем поместить в старший разряд 0 (ShiftR)
7. Сдвинуть x влево (умножить на три), предварительно скопировав старший разряд во флаг переноса c и затем поместить в младший разряд 0 (ShiftL)
8. Сложить x и y, поместив сумму в z (Add)
9. Вычесть x из y, поместив разность в z (Subtract)
10. Умножить x на y, поместив произведение в z (Multiply)
11. Разделить x на y, поместив целую часть частного в z, а остаток в x (Divide)

На мой взгляд это минимум, в котором есть все, что может потребоваться для работы. Возражения есть ? :-D

P.S. Прошу не путать перечисленные операции с инструкциями процессора!


31 Oct 2005 07:46
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Сдвиг предлагаю сделать через регистр переноса - т.е. не ноль помещать в высвобождающийся трит, а то что было в переносе, а в перенос заталкивать сдвинутый трит - иначе нельзя будет реализовать расширяемые арифметические операции. И чтобы упростить реализацию переноса с обнулением надо иметь короткие команды инициализации флага переноса. Копирование с инвертированием можно убрать. Вычитание можно заменить сложением с инвертированным вторым аргументом. Чтобы не захломлять результатом умножения один из аргументов предлагаю вместо регистров XYZ ввести регистры аргументов A и B и два регистра результата L (младшее слово) и H (старшее слово). И еще надо сделать сложение и вычитание с использованием переноса.


31 Oct 2005 19:22
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Shaos wrote:
Сдвиг предлагаю сделать через регистр переноса - т.е. не ноль помещать в высвобождающийся трит, а то что было в переносе, а в перенос заталкивать сдвинутый трит - иначе нельзя будет реализовать расширяемые арифметические операции.

В самом деле, что это я ? Принято.


31 Oct 2005 22:26
Profile
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Получена первая версия эмулятора троичной машины!


08 Dec 2005 11:44
Profile
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Все чаще приходит мысль ввести дополнительную команду для определения чётности числа (нечётное, нуль, чётное). Как вы на это смотрите ?


20 Dec 2005 23:52
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Mac Buster wrote:
Все чаще приходит мысль ввести дополнительную команду для определения чётности числа (нечётное, нуль, чётное). Как вы на это смотрите ?


Вроде ноль четным всегда считался...


21 Dec 2005 19:35
Profile WWW
Retired

Joined: 03 Aug 2003 22:37
Posts: 1474
Location: Moscow
Reply with quote
Shaos wrote:
Вроде ноль четным всегда считался...

Ноль - ничто (латынь), отсутствие цифры, пустое место (арабский). Следовательно не обладает свойствами числа.


22 Dec 2005 00:02
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 28 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 13 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.