nedoPC.org

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



Reply to topic  [ 62 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Троичные функции 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
haqreu wrote:
А ты думаешь чем я вдохновлялся? :D

:roll:

_________________
:dj: https://mastodon.social/@Shaos


18 Nov 2017 16:04
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
AlexanderZh wrote:
Я рассматриваю простейший троичный недопроцессор с точки зрения, можно ли на нем будет собрать калькулятор. Вроде МК-54/61. Даже без тригонометрии в первой итерации.

Можно :roll:

Lavr wrote:
Весь вопрос упрётся в программное обеспечение, которого у нас нет, пока мы мудруем над железками...

Напишем :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


27 Nov 2017 01:25
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
AlexanderZh wrote:
Shaos wrote:
Можно

Пока вроде не очень то) Память только в регистрах... Но простейший +-/*, вполне запросто, может даже на 1 регистр памяти хватит.

Короче цепляем по 7-сегментному индикатору к каждому регистру (ну или скажем к R5-R12) и получаем калькуляторный индикатор :)
А памяти таки да - надо добавить, и я даже знаю как ;)

_________________
:dj: https://mastodon.social/@Shaos


27 Nov 2017 18:00
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
AlexanderZh wrote:
Да, перепутал. Это инвертированное умножение двух тритов (MUL)
Image

Кстати вот этот самый MUL должен использоваться, чтобы маскировать триты в троичном слове - в маске единички будут оставлять значение как есть, минусики - инвертировать, а нули - обнулять, соответственно если нам скажем надо проверить средний трит в триаде, то делаем MUL OPO и далее skip если ноль :)

_________________
:dj: https://mastodon.social/@Shaos


27 Nov 2017 22:42
Profile WWW
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Shaos wrote:
.. вот этот самый MUL ..
Да, да, "кстати" : во избежание путаницы желательно по разному обзывать "вот этот самый" строго-по-тритовый "мул" и арифметический "мул" ,у которого накапливаются переносы в следующие триты .


27 Nov 2017 23:47
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Можно называть "Tritwise MUL" = TMUL (точно также TMIN и TMAX, чтобы не путать с MIN и MAX над триадами и трайтами)

_________________
:dj: https://mastodon.social/@Shaos


28 Nov 2017 00:03
Profile WWW
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Угу.
Есть ведь разные умножения
GleitKommaZahlenMultiplikation
GanzZahlige Multiplikation
Ggetrennt_fur_Trit Logische Multiplikation
для них действительно разумно употребить разные названия
GKMUL в intel80x87 называли ,помнится, вроде FMUL
Целочисленное_арифметическое в x87 вроде называли IMUL
Ну логическое_поразрядное логично назвать Trit_Logische_MULtiplikation ~ TLMUL или чуть проще TMUL

И - это( уже предлагал, помнится, ) - а не лучше ли называть не "триады" , а по аналогии с нибблами, "трибблы" ?


28 Nov 2017 03:24
Profile
Maniac

Joined: 10 Mar 2017 05:30
Posts: 318
Reply with quote
petrenko wrote:
И - это( уже предлагал, помнится, ) - а не лучше ли называть не "триады" , а по аналогии с нибблами, "трибблы" ?


Трилобиты и трилобайты!


28 Nov 2017 03:26
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
petrenko wrote:
И - это( уже предлагал, помнится, ) - а не лучше ли называть не "триады" , а по аналогии с нибблами, "трибблы" ?

Мы же выясняли уже, что триббл это 2 трита ;)
Триада - 3 трита, а Трайт - 6 тритов :)

_________________
:dj: https://mastodon.social/@Shaos


28 Nov 2017 03:45
Profile WWW
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
^^_ :mrgreen:

^_ Отнюдь . Это не "выяснено", это частное мнение очень небольшого количества людей.
И при таком "выясненном" раскладе как прикажете называть 9тритов ? :question:
( да и группирование по 2 и по 6 это как то "не троично" ,а кроме того 2 трита правильнее и понятнее называть "пара" )
Ладно, это всё лирика ...

Кроме логических и арифметических, могут быть функции, работающие со структурами данных.

Поэтому желательно продумать заранее, как например кодировать возвращаемое функцией значение NIL
,коды ошибок и разных видов переполнений ( *(+∞) *(-∞) , /0 и др. ) ..
Необязательно "прямщаз" делать, но продумать и зарезервировать (, чтоб потом не пришлось головоломно впихивать с перехрюкиванием всего ранее сделанного под пляски с бубном ) .


28 Nov 2017 03:52
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
petrenko wrote:
Это не "выяснено", это частное мнение очень небольшого количества людей.
И при таком "выясненном" раскладе как прикажете называть 9тритов ? :question

tradr :)

http://www.nedopc.org/forum/viewtopic.php?p=1133#p1133

_________________
:dj: https://mastodon.social/@Shaos


28 Nov 2017 09:23
Profile WWW
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
:mrgreen: Ok . Посмеялись, отдохнули, лирический перекур завершили, поехали дальше.

Всё таки дилемма : ИЛИ надо повторять "Сетунь", не мучаясь изобретениями "велосипедов" ИЛИ надо предусматривать поддержку работы со структурами данных уже сразу "в железе" .

Итак : поелику при работе с троичной логикой однотритовой_точности
( самая неточная точность нечёткой логики - частный случай )
в триаде
( какая разница как называть, в общем то , всё равно 99.999999% людей это непонятно в принципе, а приноровиться к сленгу той или иной техно-секты даже проще, чем выучить клингонский язык )
изпользуется один трит ( пусть младший )
, то : два старших трита пущай указывают , что это именно структура_данных==логика_однотритовой_точности

В общем повторю ( ^_ссылка как раз указывает на тему, где я сие уже говорил ) :
petrenko wrote:
.. Первый (старший) трит будет указывать :
если 0 , то следующие 8 трит
при их положительном значении кодируют ..... , при их отрицательных значениях кодируют другие типы данных,
если -1 , то следующие триты содержат код команды или ещё что-нибудь системное или .....
, ну а если +1 , то следующие триты кодируют числовые данные, причём второй .. трит ещё не кодирует, а указывает ( иногда вместе с третьим тритом и сл. ) на тип числа и его длину
..


Таким образом значения триады :
Nxx -> следующие триты содержат код команды или ещё что-нибудь системное или .....
0xx -> следующие M(==8 ? ) трит ..... кодируют другие типы данных ..
PNN -> в следующей триаде указание на тип числа и его длину
PN0 -> в следующих 8 тритах целое число от -3280 до +3280
PNP -> в следующих 8 тритах число означает вероятности нечёткой логики от (1/6561) до 1
P0N -> Logik[-1]
P00 -> Logik[0]
P0P -> Logik[+1]
PPN -> "не найдено"( для пролог ,для запрос_клавиатуры и как результат_неприменимых_операций )
PP0 -> NIL ( для структур )
PPP -> MASK( при некоторых операциях как "игнорировать" или "любое_значение"==xxx )


( где N==[-1] 0==[0] P==[+1] )

Попытка выполнить логическую операцию над не-логическими данными ( не из множества {P0N;P00;P0P} ) должна выдавать ошибку в флагах ошибок и результат PPN в регистре.


28 Nov 2017 20:29
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Вы знакомы с системой "эльбрус" или i432 ?
Там данные всегда были с тегами , некоторые абстракции были приближены к "железу" и многое в о.с было поддержано на аппаратном уровне.
Это разве плохо ?
И потом, если вот например в i51 семействе м.к. идут битовые вычисления, то в Acc безполезно лежат 7 битов из 8
, а тут в триаде "чтоб не пропадать добру" можно придать полезность двум тритам из трёх.

То есть это наоборот, разумное изпользование и так уже имеющейся избыточности.

Хотя, увы, мы можем обсуждать сколько угодно, всё равно будет сделано так, как будет сделано, это от нашего мнения почти не зависит.


29 Nov 2017 02:49
Profile
Doomed

Joined: 10 Mar 2012 16: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)



29 Nov 2017 04:08
Profile
Doomed

Joined: 08 Apr 2013 04:04
Posts: 449
Location: 213.247.249.139
Reply with quote
petrenko wrote:
И потом, если вот например в i51 семействе м.к. идут битовые вычисления, то в Acc безполезно лежат 7 битов из 8

8 из 8. Битовые операции -- с флагом переноса. А ещё бесполезно лежат все ячейки памяти, недоступные для битовых операций...
Ещё очень обидно, что когда происходит чтение 1 ячейки памяти (например ПЗУ), все остальные ячейки лежат бесполезным грузом, только место занимают и токи утечки увеличивают...
:lol:

_________________
привет засранцу лавру :)


29 Nov 2017 04:30
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 62 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

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