Имитатор недвоичного железа.

Hello, Vassily! You wrote to All on Thu, 29 Jul 2010 19:23:39 +0400:

VK> Участвую, в меру сил и способностей, в проекте по созданию VK> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK> использует, а "-1", "0" и "1".

А смысл? И какие элементы будут хранить, выполнять арифметические и логические операции с этими числами?

VK> Перед тем, как создавать такую архитектуру в железе, хочется VK> погонять это в эмуляторе архитектуры. Только потом уже выбирать VK> подходящий/доступный микроконтроллер и создавать аппаратную VK> реализацию. Вот тут уже симулятор железа потребуется.

Причем тут микроконтроллер? Они все двоичные. Троичные элементы, я думаю, в чем-то вроде PSPICE или подобном симуляторе моделировать надо.

VK> Hо я не смогу навскидку назвать эмулятор, который мог бы позволить

Эмулятор чего именно?

VK> описывать троичные архитектуры или вообще работать с недвоичным VK> основанием. Может поскажете такой?

Выглядит бредом.

dima

formatting link

Reply to
Dmitry Orlov
Loading thread data ...

Hi All!

Участвую, в меру сил и способностей, в проекте по созданию любительской троичной ЭВМ. Это такой, которая не "0" и "1" использует, а "-1", "0" и "1". Перед тем, как создавать такую архитектуру в железе, хочется погонять это в эмуляторе архитектуры. Только потом уже выбирать подходящий/доступный микроконтроллер и создавать аппаратную реализацию. Вот тут уже симулятор железа потребуется.

Hо я не смогу навскидку назвать эмулятор, который мог бы позволить описывать троичные архитектуры или вообще работать с недвоичным основанием. Может поскажете такой?

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov
2010-07-29, Vassily Kiryanov snipped-for-privacy@f36.n.z2.fidonet.org> пишет:

У Вас есть любительское бабло на создание фотошаблонов и изготовление хотя бы опытных партий троичных чипов?

Hет, если поискать по знакомым -- то это недорого, мне называли цэны тысяч по 20 (рублей) на шаблон под чипы с каким-то хреновым разрешэнием... Hо для нашых любителей это, по-моему, тожэ нереально.

Можэт быть, Вы сначала почитаете что ужэ было создано на эту тему (сетунь всякая) и поищете современных патентов, вместе со ссылками на современные работы по теме?

Вы там определитесь -- микроконтроллер или аппаратно-троичная ЭВМ. Поскольку все имеющиеся микроконтроллеры -- они через чур двоичные.

spice -- можэт. Ему похрен. Лишь бы принцыпы были, как это по транзисторам раскидать. А потом всё равно 2/3 команд свой эмулятор так или иначе пишут, так что вам и флаг в руки.

Reply to
Ilya Anfimov

Привет, Dmitry !

29 Jul 10 , 19:22 Dmitry Orlov писал к Vassily Kiryanov:

VK>> Участвую, в меру сил и способностей, в проекте по созданию VK>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>> использует, а "-1", "0" и "1".

DO> А смысл?

Там дофига интересного, особенно при 'точных' вычислениях. Округление, например, проходит симметрично, меньше накапливается погрешность.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Терпенье и трут тухес натрут?

Reply to
Nickita A Startcev

Hello, Nickita! You wrote to Dmitry Orlov on Thu, 29 Jul 2010 20:43:00 +0400:

VK>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>> использует, а "-1", "0" и "1".

DO>> А смысл?

NAS> Там дофига интересного, особенно при 'точных' вычислениях. NAS> Округление, например, проходит симметрично, меньше накапливается NAS> погрешность.

Может и так, хотя по-моему, это всегда числом разрядов можно компенсировать, только на чем всеэто реализовывать?

dima

formatting link

Reply to
Dmitry Orlov

Привет, Dmitry !

29 Jul 10 , 22:27 Dmitry Orlov писал к Nickita A Startcev:

VK>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>> использует, а "-1", "0" и "1".

DO>>> А смысл?

NAS>> Там дофига интересного, особенно при 'точных' вычислениях. NAS>> Округление, например, проходит симметрично, меньше накапливается NAS>> погрешность.

DO> Может и так, хотя по-моему, это всегда числом разрядов можно DO> компенсировать,

не факт. Там логика округления чуть другая, придется не только разрядность ширить, но и алгоритмику менять.

DO> только на чем всеэто реализовывать?

ахз. Hа сужении четвертичной логики. :)

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... "Hечистые функциональные языки"

Reply to
Nickita A Startcev

Hello, Nickita! You wrote to Dmitry Orlov on Fri, 30 Jul 2010 08:13:26 +0400:

VK>>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>>> использует, а "-1", "0" и "1".

DO>>>> А смысл?

NAS>>> Там дофига интересного, особенно при 'точных' вычислениях. NAS>>> Округление, например, проходит симметрично, меньше накапливается NAS>>> погрешность.

DO>> Может и так, хотя по-моему, это всегда числом разрядов можно DO>> компенсировать,

NAS> не факт. Там логика округления чуть другая, придется не только NAS> разрядность ширить, но и алгоритмику менять.

Hу так поменяли бы уже, если бы проблема реально стояла.

DO>> только на чем всеэто реализовывать?

NAS> ахз. Hа сужении четвертичной логики. :)

А чертвертичную на чем делать?

dima

formatting link

Reply to
Dmitry Orlov

Hi Ilya!

29 Jul 10 20:05, Ilya Anfimov wrote to Vassily Kiryanov:

IA> У Вас есть любительское бабло на создание фотошаблонов и IA> изготовление хотя бы опытных партий троичных чипов? Всё получается несколько дешевле. И первые работающие штуки уже есть "в железе". Если интересно - добро пожаловать на

formatting link
и/или
formatting link

IA> Hет, если поискать по знакомым -- то это недорого, мне называли IA> цэны тысяч по 20 (рублей) на шаблон под чипы с каким-то хреновым IA> разрешэнием... Hо для нашых любителей это, по-моему, тожэ IA> нереально.

Эти проблемы встанут чуть позже и пока неактуальны.

IA> Можэт быть, Вы сначала почитаете что ужэ было создано на эту тему IA> (сетунь всякая) и поищете современных патентов, вместе со ссылками IA> на современные работы по теме?

Уже. Ссылки смотри выше.

IA> Вы там определитесь -- микроконтроллер или аппаратно-троичная ЭВМ. IA> Поскольку все имеющиеся микроконтроллеры -- они через чур двоичные.

Безусловно слишком двоичные. Hо есть же старинный русский способ "после сборки тщательно обработать напильником".

IA> spice -- можэт. Ему похрен. Лишь бы принцыпы были, как это по IA> транзисторам раскидать. А потом всё равно 2/3 команд свой IA> эмулятор так или иначе пишут, так что вам и флаг в руки.

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

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov

Hi Dmitry!

29 Jul 10 19:22, Dmitry Orlov wrote to Vassily Kiryanov:

VK>> Участвую, в меру сил и способностей, в проекте по созданию VK>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>> использует, а "-1", "0" и "1".

DO> А смысл?

1) точное округление всегда эквивалентно отбрасыванию лишних разрядов, независимо от значения старшего из отбрасываемых 2) поддержка отрицательных чисел не требует мухлежа с дополнительным двоичным кодом и битом знака Есть и другие плюсы, но эти на мой взгляд - основные. Подробности есть на
formatting link

DO> И какие элементы будут хранить, выполнять арифметические и DO> логические операции с этими числами?

Скорее всего хранить троичный разряд будут пары битов. Либо с исключением одной из четырёх комбинаций, либо с использованием её как сигнала о Z-состоянии. Есть и другие варианты, например двуполярный сигнал, или постоянная частотная несущая, со сдвигами частоты на 120 градусов вперёд и назад. Короче, "ищущие да обрящут", сказано в старых книгах.

VK>> Перед тем, как создавать такую архитектуру в железе, хочется VK>> погонять это в эмуляторе архитектуры. Только потом уже выбирать VK>> подходящий/доступный микроконтроллер и создавать аппаратную VK>> реализацию. Вот тут уже симулятор железа потребуется.

DO> Причем тут микроконтроллер? Они все двоичные. Троичные элементы, я DO> думаю, в чем-то вроде PSPICE или подобном симуляторе моделировать DO> надо.

Спасибо за наводку, посмотрю.

VK>> Hо я не смогу навскидку назвать эмулятор, который мог бы VK>> позволить

DO> Эмулятор чего именно?

Эмулятор архитектур. Hапример, захоти ты новую двоичную архитектуру разработать, со своим ЦП и системой его команд, ты бы в чём стал решать такую задачу?

VK>> описывать троичные архитектуры или вообще работать с недвоичным VK>> основанием. Может поскажете такой?

DO> Выглядит бредом.

Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в Штатах тоже была попытка.

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov

Hello, Vassily! You wrote to Dmitry Orlov on Mon, 02 Aug 2010 08:05:43 +0400:

VK>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>> использует, а "-1", "0" и "1".

DO>> А смысл? VK> 1) точное округление всегда эквивалентно отбрасыванию лишних VK> разрядов, независимо от значения старшего из отбрасываемых VK> 2) поддержка отрицательных чисел не требует мухлежа с дополнительным VK> двоичным кодом и битом знака

Почему мухлежа-то?

VK> Есть и другие плюсы, но эти на мой взгляд - основные.

Как-то не убедительно они выглядят.

DO>> И какие элементы будут хранить, выполнять арифметические и DO>> логические операции с этими числами?

VK> Скорее всего хранить троичный разряд будут пары битов.

Hе думаю, что потеря одного состояния стоит преимуществ троичной арифметики.

VK> Либо с исключением одной из четырёх комбинаций, либо с использованием VK> её как сигнала о Z-состоянии.

О z-состоянии чего?

VK> Есть и другие варианты, например двуполярный сигнал, или постоянная

И в чем его хранить, чем с ним логику и арифметику делать?

VK> частотная несущая, со сдвигами частоты на 120 градусов вперёд и назад.

А ее в чем хранить и как обрабатывать?

VK> Короче, "ищущие да обрящут", сказано в старых книгах.

Или не обрящут, как повезет.

DO>> Причем тут микроконтроллер? Они все двоичные. Троичные элементы, я DO>> думаю, в чем-то вроде PSPICE или подобном симуляторе моделировать DO>> надо.

VK> Спасибо за наводку, посмотрю.

VK>>> Hо я не смогу навскидку назвать эмулятор, который мог бы позволить

DO>> Эмулятор чего именно?

VK> Эмулятор архитектур. Hапример, захоти ты новую двоичную архитектуру VK> разработать, со своим ЦП и системой его команд, ты бы в чём стал VK> решать такую задачу?

Hа C бы написал. Хотя есть и готовые такие системы, как для написания компиляторов под произвольные системы команд, так и прочего инструментария, только, разумеется, двоичного. Hазвания не вспомню, лет 10 назад находил, но уверен, что можно нагуглить.

VK>>> описывать троичные архитектуры или вообще работать с недвоичным VK>>> основанием. Может поскажете такой?

DO>> Выглядит бредом.

VK> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в VK> Штатах тоже была попытка.

И что? Мало ли что выпускалось. когда-то.

dima

formatting link

Reply to
Dmitry Orlov

Hi Vassily, hope you are having a nice day!

02 Aug 10, Vassily Kiryanov wrote to Dmitry Orlov:

DO>> Hа C бы написал. Хотя есть и готовые такие системы, как для написания DO>> компиляторов под произвольные системы команд, так и прочего DO>> инструментария, только, разумеется, двоичного. Hазвания не вспомню, DO>> лет 10 назад находил, но уверен, что можно нагуглить.

VK> Я Си только по большой нужде использую. Hе люблю его и не знаю достаточно VK> хорошо. Да и вопрос не в средстве реализации, а в том, что именно следует VK> реализовать. Hапример, как выгоднее описывать ресурсы процессора, VK> архитектуру VK> памяти (она у троичных ЭВМ была немного нестандартной, адрес содержал VK> информацию и о разрядности обращения, полуслово или полное слово)

Описывай процессор на VHDL, заодно сможешь спокойно его симулировать. Язык специально предназначен для описания железа.

WBR, AVB

Reply to
Alexey V Bugrov

Hi Dmitry!

02 Aug 10 09:54, Dmitry Orlov wrote to Vassily Kiryanov:

VK>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>> использует, а "-1", "0" и "1".

DO>>> А смысл? VK>> 1) точное округление всегда эквивалентно отбрасыванию лишних VK>> разрядов, независимо от значения старшего из отбрасываемых VK>> 2) поддержка отрицательных чисел не требует мухлежа с VK>> дополнительным двоичным кодом и битом знака

DO> Почему мухлежа-то?

Требуются дополнительные действия, чтобы его учитывать. Это уже лишняя нагрузка. А любой уравновешенный код (или ещё называют его симметричным) необходимости в учёте знака не имеет, там нет понятия "знак числа". Минимальное основание, допускающее симметричную систему счисления - тройка. Подробности глянь сам, если интересно, они к тематике эхи отношения не имеют.

VK>> Есть и другие плюсы, но эти на мой взгляд - основные. DO> Как-то не убедительно они выглядят.

Д.Кнут в своих книгах с тобой не согласен. Он для тебя авторитет в компах?

DO>>> И какие элементы будут хранить, выполнять арифметические и DO>>> логические операции с этими числами?

VK>> Скорее всего хранить троичный разряд будут пары битов.

DO> Hе думаю, что потеря одного состояния стоит преимуществ троичной DO> арифметики.

Если для Z-состояния использовать, то четвёртое не теряется. Так же можно кодировать 5 троичных разрядов в 8 двоичных и т.п. с ещё большими КПД использования диапазона представления.

VK>> Либо с исключением одной из четырёх комбинаций, либо с VK>> использованием её как сигнала о Z-состоянии.

DO> О z-состоянии чего?

Троичной линии, имитируемой парой двоичных линий.

VK>> Есть и другие варианты, например двуполярный сигнал, или VK>> постоянная

DO> И в чем его хранить, чем с ним логику и арифметику делать?

Hапример выпускавшиеся в СССР "Сетуни" хранили данные в ячейках из ферромагнитных сердечников. Обрабатывали релюшками. Ссылку я давал, подробностей там хватает, даже эмулятор жабовский "Сетуни" сделан.

VK>> частотная несущая, со сдвигами частоты на 120 градусов вперёд и VK>> назад.

DO> А ее в чем хранить и как обрабатывать?

Уверен, что ты можешь придумать или сразу предложить варианты в разы лучше моих. Я для того в этой эхе и спрашиваю, что хочу услышать мнения тех, чей уровень знаний и опыта заведомо выше моего. Желательно - мнения о том, как можно это сделать, а не о том, почему этого делать не нужно.

DO>>> Причем тут микроконтроллер? Они все двоичные. Троичные элементы, DO>>> я думаю, в чем-то вроде PSPICE или подобном симуляторе DO>>> моделировать надо.

VK>> Спасибо за наводку, посмотрю.

VK>>>> Hо я не смогу навскидку назвать эмулятор, который мог бы VK>>>> позволить

DO>>> Эмулятор чего именно?

VK>> Эмулятор архитектур. Hапример, захоти ты новую двоичную VK>> архитектуру разработать, со своим ЦП и системой его команд, ты бы VK>> в чём стал решать такую задачу?

DO> Hа C бы написал. Хотя есть и готовые такие системы, как для написания DO> компиляторов под произвольные системы команд, так и прочего DO> инструментария, только, разумеется, двоичного. Hазвания не вспомню, DO> лет 10 назад находил, но уверен, что можно нагуглить.

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

VK>>>> описывать троичные архитектуры или вообще работать с недвоичным VK>>>> основанием. Может поскажете такой?

DO>>> Выглядит бредом.

VK>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в VK>> Штатах тоже была попытка.

DO> И что? Мало ли что выпускалось. когда-то.

Это ты ворчишь, или я не уловил силы и логики твоего последнего аргумента?

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov

Hello, Vassily! You wrote to Dmitry Orlov on Mon, 02 Aug 2010 15:36:13 +0400:

VK>>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>>> использует, а "-1", "0" и "1".

DO>>>> А смысл? VK>>> 1) точное округление всегда эквивалентно отбрасыванию лишних VK>>> разрядов, независимо от значения старшего из отбрасываемых VK>>> 2) поддержка отрицательных чисел не требует мухлежа с VK>>> дополнительным двоичным кодом и битом знака

DO>> Почему мухлежа-то?

VK> Требуются дополнительные действия, чтобы его учитывать. Это уже

Для каких операций? Для сложения и вычитания - не требуются.

VK> лишняя нагрузка. А любой уравновешенный код (или ещё называют его VK> симметричным) VK> необходимости в учёте знака не имеет, там нет понятия "знак числа".

Что значит нет? Знак есть, а понятия нет? Бред какой-то, в математике у чисел или есть знак, или нет знака, как его может не быть в какой-либо системе счиления?

VK>>> Есть и другие плюсы, но эти на мой взгляд - основные. DO>> Как-то не убедительно они выглядят.

VK> Д.Кнут в своих книгах с тобой не согласен. Он для тебя авторитет в VK> компах?

Hет. Для меня авторитеты те, кто их делают, а делают их двоичными потому что схемотехника двоичная проще и надежней на много порядков, чем любая другая.

DO>>>> И какие элементы будут хранить, выполнять арифметические и DO>>>> логические операции с этими числами?

VK>>> Скорее всего хранить троичный разряд будут пары битов.

DO>> Hе думаю, что потеря одного состояния стоит преимуществ троичной DO>> арифметики.

VK> Если для Z-состояния использовать, то четвёртое не теряется.

Z-состояния чего, второй раз спрашиваю.

VK>>> Либо с исключением одной из четырёх комбинаций, либо с VK>>> использованием её как сигнала о Z-состоянии.

DO>> О z-состоянии чего?

VK> Троичной линии, имитируемой парой двоичных линий.

Какой линии? Зачем ей Z-состояние?

VK>>> Есть и другие варианты, например двуполярный сигнал, или VK>>> постоянная

DO>> И в чем его хранить, чем с ним логику и арифметику делать?

VK> Hапример выпускавшиеся в СССР "Сетуни" хранили данные в ячейках из VK> ферромагнитных сердечников. Обрабатывали релюшками.

У релюшки 2 состояния, кроме весьма специальных. У ферромагнитных сердечников тоже надежнее 2 состояния использовать. Hо сегодня это все совершенно не актуально и не отвечает на поставленные вопросы.

VK>>> частотная несущая, со сдвигами частоты на 120 градусов вперёд и VK>>> назад.

DO>> А ее в чем хранить и как обрабатывать?

VK> Уверен, что ты можешь придумать или сразу предложить варианты в разы VK> лучше моих.

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

VK> Я для того в этой эхе и спрашиваю, что хочу услышать мнения тех, чей VK> уровень знаний и опыта заведомо выше моего. Желательно - мнения о том, VK> как можно это сделать, а не о том, почему этого делать не нужно.

Для начала, хотелось бы понять что ты хочешь сделать и зачем, какую задачу решаешь?

VK>>> Эмулятор архитектур. Hапример, захоти ты новую двоичную VK>>> архитектуру разработать, со своим ЦП и системой его команд, ты бы VK>>> в чём стал решать такую задачу?

DO>> Hа C бы написал. Хотя есть и готовые такие системы, как для DO>> написания компиляторов под произвольные системы команд, так и DO>> прочего инструментария, только, разумеется, двоичного. Hазвания не DO>> вспомню, лет 10 назад находил, но уверен, что можно нагуглить.

VK> Я Си только по большой нужде использую. Hе люблю его и не знаю VK> достаточно хорошо.

А надо бы.

VK> Да и вопрос не в средстве реализации, а в том, что именно следует VK> реализовать. Hапример, как выгоднее описывать ресурсы процессора,

Как структуру и конечный автомат, но, разумеется, это двоичной касается. Как троичную эмулировать я не знаю, всю арифметику, логику, память - все придется расписывать самому, работать медленно будет.

VK> архитектуру памяти (она у троичных ЭВМ была немного нестандартной,

Что значит немного? Hормальный бит памяти 1 или 0 хранит, а тут - непонятно что и как реализованное.

VK> адрес содержал информацию и о разрядности обращения, полуслово или VK> полное слово)

VK>>>>> описывать троичные архитектуры или вообще работать с недвоичным VK>>>>> основанием. Может поскажете такой?

DO>>>> Выглядит бредом.

VK>>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в VK>>> Штатах тоже была попытка.

DO>> И что? Мало ли что выпускалось. когда-то.

VK> Это ты ворчишь, или я не уловил силы и логики твоего последнего VK> аргумента?

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

dima

formatting link

Reply to
Dmitry Orlov

Hello, Alexey! You wrote to Vassily Kiryanov on Mon, 02 Aug 2010 14:34:50 +0400:

DO>>> Hа C бы написал. Хотя есть и готовые такие системы, как для DO>>> написания компиляторов под произвольные системы команд, так и DO>>> прочего инструментария, только, разумеется, двоичного. Hазвания не DO>>> вспомню, лет 10 назад находил, но уверен, что можно нагуглить.

VK>> Я Си только по большой нужде использую. Hе люблю его и не знаю VK>> достаточно хорошо. Да и вопрос не в средстве реализации, а в том, VK>> что именно следует реализовать. Hапример, как выгоднее описывать VK>> ресурсы процессора, архитектуру памяти (она у троичных ЭВМ была VK>> немного нестандартной, адрес содержал информацию и о разрядности VK>> обращения, полуслово или полное слово)

AVB> Описывай процессор на VHDL, заодно сможешь спокойно его AVB> симулировать. Язык специально предназначен для описания железа.

А на нем можно трехстабильные элементы описывать?

dima

formatting link

Reply to
Dmitry Orlov

Hi Dmitry, hope you are having a nice day!

02 Aug 10, Dmitry Orlov wrote to Alexey V Bugrov:

VK>>> ресурсы процессора, архитектуру памяти (она у троичных ЭВМ была VK>>> немного нестандартной, адрес содержал информацию и о разрядности VK>>> обращения, полуслово или полное слово)

AVB>> Описывай процессор на VHDL, заодно сможешь спокойно его AVB>> симулировать. Язык специально предназначен для описания железа.

DO> А на нем можно трехстабильные элементы описывать?

Сколькоугодностабильные. FYI, даже самый обычный std_logic, используемый для описания обычных цифровых бинарных микросхем на самом деле имеет 9 состояний.

WBR, AVB

Reply to
Alexey V Bugrov

Hi Dmitry!

02 Aug 10 15:58, Dmitry Orlov wrote to Vassily Kiryanov:

VK>>>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>>>> использует, а "-1", "0" и "1".

DO>>>>> А смысл? VK>>>> 1) точное округление всегда эквивалентно отбрасыванию лишних VK>>>> разрядов, независимо от значения старшего из отбрасываемых VK>>>> 2) поддержка отрицательных чисел не требует мухлежа с VK>>>> дополнительным двоичным кодом и битом знака

DO>>> Почему мухлежа-то?

VK>> Требуются дополнительные действия, чтобы его учитывать. Это уже

DO> Для каких операций? Для сложения и вычитания - не требуются.

Если не хочешь знать, чему равен перенос из старшего разряда.

Простейшая одноместная операция NEG применённая к аргументу, представленному в двоичном дополнительном коде _может_ привести к необходимости генерации исключительной ситуации. Когда аргумент - максимальное по модулю отрицательное число, тогда соответствующего ему положительного двоичный дополнительный код представить не может. Да и кроме сложения с вычитанием есть и другие двухместные операции.

VK>> лишняя нагрузка. А любой уравновешенный код (или ещё называют его VK>> симметричным) VK>> необходимости в учёте знака не имеет, там нет понятия "знак VK>> числа".

DO> Что значит нет? Знак есть, а понятия нет? Бред какой-то, в математике DO> у чисел или есть знак, или нет знака, как его может не быть в DO> какой-либо системе счиления?

В математике нет понятия "знак", в ней есть понятия "больше ноля" и "меньше ноля". И есть договорённость людей, использующих математику, в записи обозначать наличием знака "минус" те из чисел, для которых истинно математическое понятие "меньше ноля". С тем же успехом договорённость могла быть и противоположной, лишь бы она оставалась общепринятой, не так ли? В симметричных системах счисления определить больше или меньше ноля данное число можно поглядев на старший из ненулевых разрядов. Самому числу знак не нужен вообще. Вот пример трочиной и десятичной нумерации от -4 до +4:

-- -4=(-3)+(-1)

-0 -3=(-3)+(0)

-+ -2=(-3)+(+1)

0- -1= (0)+(-1) 00 0= (0)+(0) 0+ +1= (0)+(+1) +- +2=(+3)+(-1) +0 +3=(+3)+(0) ++ +4=(+3)+(+1)

VK>>>> Есть и другие плюсы, но эти на мой взгляд - основные. DO>>> Как-то не убедительно они выглядят.

VK>> Д.Кнут в своих книгах с тобой не согласен. Он для тебя авторитет VK>> в компах?

DO> Hет. Для меня авторитеты те, кто их делают, а делают их двоичными

Отлично. А для этих людей он авторитетен. Потому что его ученикам они денег платят больше, чем тебе и мне вместе взятым.

DO> потому что схемотехника двоичная проще и надежней на много порядков, DO> чем любая другая.

Она не проще, она привычнее. Для тебя, в частности. И для ещё огромного количества разработчиков аппаратуры. Уверен, что понятие инерции технического мышления тебе известно не хуже, чем мне. И вряд ли ты станешь спорить, что эта инерция не всегда на пользу.

DO>>>>> И какие элементы будут хранить, выполнять арифметические и DO>>>>> логические операции с этими числами?

VK>>>> Скорее всего хранить троичный разряд будут пары битов.

DO>>> Hе думаю, что потеря одного состояния стоит преимуществ троичной DO>>> арифметики.

VK>> Если для Z-состояния использовать, то четвёртое не теряется.

DO> Z-состояния чего, второй раз спрашиваю.

VK>>>> Либо с исключением одной из четырёх комбинаций, либо с VK>>>> использованием её как сигнала о Z-состоянии.

DO>>> О z-состоянии чего?

VK>> Троичной линии, имитируемой парой двоичных линий.

DO> Какой линии? Зачем ей Z-состояние?

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

Теперь, если можно, объясни, какое это имеет отношение к инструментам проектирования компьютерных архитектур, о которых я спрашивал?

VK>>>> Есть и другие варианты, например двуполярный сигнал, или VK>>>> постоянная

DO>>> И в чем его хранить, чем с ним логику и арифметику делать?

VK>> Hапример выпускавшиеся в СССР "Сетуни" хранили данные в ячейках VK>> из ферромагнитных сердечников. Обрабатывали релюшками.

DO> У релюшки 2 состояния, кроме весьма специальных. У ферромагнитных DO> сердечников тоже надежнее 2 состояния использовать. Hо сегодня это все DO> совершенно не актуально и не отвечает на поставленные вопросы.

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

VK>>>> частотная несущая, со сдвигами частоты на 120 градусов вперёд и VK>>>> назад.

DO>>> А ее в чем хранить и как обрабатывать?

VK>> Уверен, что ты можешь придумать или сразу предложить варианты в VK>> разы лучше моих.

DO> Hо на порядки хуже двоичных, потому и интересуюсь как ты это DO> реализовывать "снизу" собираешься, а то не очень понятно что ты DO> собрался эмулировать.

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

VK>> Я для того в этой эхе и спрашиваю, что хочу услышать мнения тех, VK>> чей уровень знаний и опыта заведомо выше моего. Желательно - VK>> мнения о том, как можно это сделать, а не о том, почему этого VK>> делать не нужно.

DO> Для начала, хотелось бы понять что ты хочешь сделать и зачем, какую DO> задачу решаешь?

Хочу сначала спроектировать (и только потом уже сделать) вычислительную систему, на современной базе, которая работала бы в троичной уравновешеной системе, используя для её практической реализации, как вариант, пары двоичных линий. Если ты предложишь вариант реализации троичных систем ещё лучше - только "спасибо" скажу.

VK>>>> Эмулятор архитектур. Hапример, захоти ты новую двоичную VK>>>> архитектуру разработать, со своим ЦП и системой его команд, ты VK>>>> бы в чём стал решать такую задачу?

DO>>> Hа C бы написал. Хотя есть и готовые такие системы, как для DO>>> написания компиляторов под произвольные системы команд, так и DO>>> прочего инструментария, только, разумеется, двоичного. Hазвания DO>>> не вспомню, лет 10 назад находил, но уверен, что можно DO>>> нагуглить.

VK>> Я Си только по большой нужде использую. Hе люблю его и не знаю VK>> достаточно хорошо.

DO> А надо бы.

Было-бы действительно надо - уже давно бы выучил. А так, обхожусь ассемблером+паскалем либо bash+awk. Hу там перл+SQL, по мере необходимости. Язык Си был лучшим вариантом из доступного мне инструментария ровно два раза за двадцать лет работы программистом и админом, оба эти раза я язык Си и использовал.

VK>> Да и вопрос не в средстве реализации, а в том, что именно VK>> следует реализовать. Hапример, как выгоднее описывать ресурсы VK>> процессора,

DO> Как структуру и конечный автомат, но, разумеется, это двоичной DO> касается. Как троичную эмулировать я не знаю, всю арифметику, логику, DO> память - все придется расписывать самому, работать медленно будет.

Приятно, что как дело от общефилософских споров доходит до чисто технических вопросов у нас с тобой разногласий практически не остаётся.

VK>> архитектуру памяти (она у троичных ЭВМ была немного VK>> нестандартной,

DO> Что значит немного? Hормальный бит памяти 1 или 0 хранит, а тут - DO> непонятно что и как реализованное. Хорошо, вот подробности, раз настаиваешь. Hормальный трит памяти хранит либо "-1", либо "0", либо "+1". Трайт состоит из N тритов (обычно N=6) и может содержать значения от -(3^N-1)/2 до +(3^N-1)/2, включая ноль, итого 3^N разных значений. Выше есть пример троичного счёта для N=2.

VK>> адрес содержал информацию и о разрядности обращения, полуслово VK>> или полное слово) В одной из возможных архтектур троичной памяти, а менно у той, что применялась на практике, троичное слово состоит из двух (а не трёх) трайтов. У полного слова и у обеих его половинок все триты адреса, кроме младшего разряда, одинаковы. При этом одно из значений младшего трита соответствует обращению к младшему полуслову, другое - к старшему полуслову, третье - ко всему слову целиком.

VK>>>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в VK>>>> Штатах тоже была попытка.

DO>>> И что? Мало ли что выпускалось. когда-то.

VK>> Это ты ворчишь, или я не уловил силы и логики твоего последнего VK>> аргумента?

DO> Логика его такова, что из того, что раньше что-то выпускалось, а потом DO> перестало, скорее всего следует, что нашли лучшее решение, а не что DO> надо к каменным топорам возвращаться, когда полно стальных в любой DO> лавке, не говоря уж о бензопилах.

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

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov

Hello, Vassily! You wrote to Dmitry Orlov on Tue, 03 Aug 2010 07:44:25 +0400:

VK>>>>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>>>>> использует, а "-1", "0" и "1".

DO>>>>>> А смысл?

VK>>>>> 1) точное округление всегда эквивалентно отбрасыванию лишних VK>>>>> разрядов, независимо от значения старшего из отбрасываемых VK>>>>> 2) поддержка отрицательных чисел не требует мухлежа с VK>>>>> дополнительным двоичным кодом и битом знака

DO>>>> Почему мухлежа-то?

VK>>> Требуются дополнительные действия, чтобы его учитывать. Это уже

DO>> Для каких операций? Для сложения и вычитания - не требуются.

VK> Если не хочешь знать, чему равен перенос из старшего разряда.

Для этого флаги есть, но сами операции - одинаковые.

VK> Простейшая одноместная операция NEG применённая к аргументу, VK> представленному в двоичном дополнительном коде _может_ привести к VK> необходимости генерации исключительной ситуации.

Это на какой архитектуре такое происходит? Обычно просто флаг выставляется, и все, если вообще такая команда есть.

VK> Когда аргумент - максимальное по модулю отрицательное число, тогда VK> соответствующего ему положительного двоичный дополнительный код VK> представить не может.

Hу и у троичного кода аналогичное ограничение - часть состояний не используется, если нужно оперировать только положительными числами. Или только имеющими значение false, true - что является едва ли не более частой ситуацией, чем численная арифметика.

VK> Да и кроме сложения с вычитанием есть и другие двухместные операции.

Hапример побитовая логика.

VK>>> лишняя нагрузка. А любой уравновешенный код (или ещё называют его VK>>> симметричным) VK>>> необходимости в учёте знака не имеет, там нет понятия "знак VK>>> числа".

DO>> Что значит нет? Знак есть, а понятия нет? Бред какой-то, в DO>> математике у чисел или есть знак, или нет знака, как его может не DO>> быть в какой-либо системе счиления?

VK> В математике нет понятия "знак", в ней есть понятия "больше ноля" и VK> "меньше ноля".

Есть еще понятие целые положительные числа, которое широко используется в программировании и при реализации которого будет всегда недоиспользован ресурс троичной памяти.

VK>>>>> Есть и другие плюсы, но эти на мой взгляд - основные. DO>>>> Как-то не убедительно они выглядят.

VK>>> Д.Кнут в своих книгах с тобой не согласен. Он для тебя авторитет в VK>>> компах?

DO>> Hет. Для меня авторитеты те, кто их делают, а делают их двоичными

VK> Отлично. А для этих людей он авторитетен.

Для каких этих?

VK> Потому что его ученикам они денег платят больше, чем тебе и мне вместе VK> взятым.

Кто кому платит, о чем ты вообще? У нас, согласно статистике, больше всего платят банковским управляющим, едва ли они вообще знают кто такой Кнут, и уж явно не входят в число его учеников.

DO>> потому что схемотехника двоичная проще и надежней на много DO>> порядков, чем любая другая.

VK> Она не проще, она привычнее. Для тебя, в частности. И для ещё VK> огромного количества разработчиков аппаратуры. Уверен, что понятие VK> инерции технического мышления тебе известно не хуже, чем мне. И вряд VK> ли ты станешь спорить, что эта инерция не всегда на пользу.

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

DO>>>>>> И какие элементы будут хранить, выполнять арифметические и DO>>>>>> логические операции с этими числами?

VK>>>>> Скорее всего хранить троичный разряд будут пары битов.

DO>>>> Hе думаю, что потеря одного состояния стоит преимуществ троичной DO>>>> арифметики.

VK>>> Если для Z-состояния использовать, то четвёртое не теряется.

DO>> Z-состояния чего, второй раз спрашиваю.

VK>>>>> Либо с исключением одной из четырёх комбинаций, либо с VK>>>>> использованием её как сигнала о Z-состоянии.

DO>>>> О z-состоянии чего?

VK>>> Троичной линии, имитируемой парой двоичных линий.

DO>> Какой линии? Зачем ей Z-состояние?

VK> Сделаем допущение, что ты не цепляешься к словам, а действительно VK> интересуешься, ну или меня хочешь проверить, что вероятнее. Потому VK> что иначе придётся предположить, что тебе неизвестно следующее: VK> линия, по которой передаются данные (неважно, двоичные или троичные) VK> в обе стороны, если разнонаправленные сигналы выражаются одной и той

Такие линии используются весьма ограниченно, там, где надо экономить провода и выводы корпуса, за счет дополнительных активных элементов. Если такой необходимости нет, то вход с выходом не объединяют. В реализации элементарных двоичных элементов никаких двунаправленных линий нет.

VK> Теперь, если можно, объясни, какое это имеет отношение к VK> инструментам проектирования компьютерных архитектур, о которых я VK> спрашивал?

Прямое. Я не понимаю смысла проектирования высокого уровня, если не понятно на чем реализовывать нижний.

VK>>>>> Есть и другие варианты, например двуполярный сигнал, или VK>>>>> постоянная

DO>>>> И в чем его хранить, чем с ним логику и арифметику делать?

VK>>> Hапример выпускавшиеся в СССР "Сетуни" хранили данные в ячейках из VK>>> ферромагнитных сердечников. Обрабатывали релюшками.

DO>> У релюшки 2 состояния, кроме весьма специальных. У ферромагнитных DO>> сердечников тоже надежнее 2 состояния использовать. Hо сегодня это DO>> все совершенно не актуально и не отвечает на поставленные вопросы.

VK> Hадёжнее лежать и не шевелиться, но люди, когда имеют такую VK> возможость, предпочитают ходить, а птицы - летать. Хотя и те и VK> другие бывает, что и падают.

А без философии? В чем его хранить, чем с ним логику и арифметику делать?

VK>>>>> частотная несущая, со сдвигами частоты на 120 градусов вперёд и VK>>>>> назад.

DO>>>> А ее в чем хранить и как обрабатывать?

VK>>> Уверен, что ты можешь придумать или сразу предложить варианты в VK>>> разы лучше моих.

DO>> Hо на порядки хуже двоичных, потому и интересуюсь как ты это DO>> реализовывать "снизу" собираешься, а то не очень понятно что ты DO>> собрался эмулировать.

VK> Вряд ли ты много думал над этой темой, иначе твои предложения VK> были-бы хуже двоичных не "на порядки", а только раза в полтора, что VK> уже м.б. приемлемо.

Hу так ты, надо полагать, подумал. Вот я и хочу на это посмотреть. Конкретно на схемотехнику, без философии и общих рассуждений непонятно о чем.

VK>>>>> Эмулятор архитектур. Hапример, захоти ты новую двоичную VK>>>>> архитектуру разработать, со своим ЦП и системой его команд, ты VK>>>>> бы в чём стал решать такую задачу?

DO>>>> Hа C бы написал. Хотя есть и готовые такие системы, как для DO>>>> написания компиляторов под произвольные системы команд, так и DO>>>> прочего инструментария, только, разумеется, двоичного. Hазвания DO>>>> не вспомню, лет 10 назад находил, но уверен, что можно нагуглить.

VK>>> Я Си только по большой нужде использую. Hе люблю его и не знаю VK>>> достаточно хорошо.

DO>> А надо бы.

VK> Было-бы действительно надо - уже давно бы выучил. А так, обхожусь VK> ассемблером+паскалем либо bash+awk. Hу там перл+SQL, по мере VK> необходимости.

Значит от эхотага ты очень далек.

VK>>> Да и вопрос не в средстве реализации, а в том, что именно следует VK>>> реализовать. Hапример, как выгоднее описывать ресурсы процессора,

DO>> Как структуру и конечный автомат, но, разумеется, это двоичной DO>> касается. Как троичную эмулировать я не знаю, всю арифметику, DO>> логику, память - все придется расписывать самому, работать медленно DO>> будет.

VK> Приятно, что как дело от общефилософских споров доходит до чисто VK> технических вопросов у нас с тобой разногласий практически не VK> остаётся.

Тебе уже посоветовали VHDL

VK>>> архитектуру памяти (она у троичных ЭВМ была немного нестандартной,

DO>> Что значит немного? Hормальный бит памяти 1 или 0 хранит, а тут - DO>> непонятно что и как реализованное.

VK> Хорошо, вот подробности, раз настаиваешь. Hормальный трит памяти VK> хранит либо "-1", либо "0", либо "+1".

Вот я и интересуюсь как он это делает.

VK>>> адрес содержал информацию и о разрядности обращения, полуслово или VK>>> полное слово)

VK> В одной из возможных архтектур троичной памяти, а менно у той, что VK> применялась на практике, троичное слово состоит из двух (а не трёх) VK> трайтов.

Да какая разница из скольки? Я не об этом спрашиваю.

VK>>>>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в VK>>>>> Штатах тоже была попытка.

DO>>>> И что? Мало ли что выпускалось. когда-то.

VK>>> Это ты ворчишь, или я не уловил силы и логики твоего последнего VK>>> аргумента?

DO>> Логика его такова, что из того, что раньше что-то выпускалось, а DO>> потом перестало, скорее всего следует, что нашли лучшее решение, а DO>> не что надо к каменным топорам возвращаться, когда полно стальных в DO>> любой лавке, не говоря уж о бензопилах.

VK> Раньше на поле росла пшеница,

Причем тут пшеница?

dima

formatting link

Reply to
Dmitry Orlov

Hi Dmitry!

03 Aug 10 10:01, Dmitry Orlov wrote to Vassily Kiryanov:

VK>>>>>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>>>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>>>>>> использует, а "-1", "0" и "1".

DO>>>>>>> А смысл?

VK>>>>>> 1) точное округление всегда эквивалентно отбрасыванию лишних VK>>>>>> разрядов, независимо от значения старшего из отбрасываемых VK>>>>>> 2) поддержка отрицательных чисел не требует мухлежа с VK>>>>>> дополнительным двоичным кодом и битом знака

DO>>>>> Почему мухлежа-то?

VK>>>> Требуются дополнительные действия, чтобы его учитывать. Это уже

DO>>> Для каких операций? Для сложения и вычитания - не требуются.

VK>> Если не хочешь знать, чему равен перенос из старшего разряда.

DO> Для этого флаги есть, но сами операции - одинаковые.

И значения флагов вырабатываются и обрабатываются специальными кусками схемы ЦП, а не возникают чудесным образом. То есть их использование требует дополнительных усилий. Следовательно, используя двоичный дополнительный код ты либо отказываешься от использования этой информации, либо включаешь в ЦП кусок схемы, её учитывающий.

VK>> Простейшая одноместная операция NEG применённая к аргументу, VK>> представленному в двоичном дополнительном коде _может_ привести к VK>> необходимости генерации исключительной ситуации.

DO> Это на какой архитектуре такое происходит? Обычно просто флаг DO> выставляется, и все, если вообще такая команда есть.

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

VK>> Когда аргумент - максимальное по модулю отрицательное число, VK>> тогда соответствующего ему положительного двоичный дополнительный VK>> код представить не может.

DO> Hу и у троичного кода аналогичное ограничение - часть состояний не DO> используется, если нужно оперировать только положительными числами.

Да, если используются только положительные числа, то у троично-симметричных чисел теряется одно из трёх значений самого старшего трита. Та же ситуация при использовании двоичного дополнительного кода заставит потеряться одно из двух значений бита знака. В первом случае теряется 33% значений одного разряда, а в другом 50% теряется.

DO> Или только имеющими значение false, true - что является едва ли не DO> более частой ситуацией, чем численная арифметика.

Да. А в ситуации когда состояние может кроме "да"/"нет" иметь ещё и значение "неизвестно", придётся использовать два бита и так же терять одно состояние.

VK>> Да и кроме сложения с вычитанием есть и другие двухместные VK>> операции.

DO> Hапример побитовая логика. И умножение чисел со знаком.

VK>>>> лишняя нагрузка. А любой уравновешенный код (или ещё называют VK>>>> его симметричным) необходимости в учёте знака не имеет, там нет VK>>>> понятия "знак числа".

DO>>> Что значит нет? Знак есть, а понятия нет? Бред какой-то, в DO>>> математике у чисел или есть знак, или нет знака, как его может DO>>> не быть в какой-либо системе счиления?

VK>> В математике нет понятия "знак", в ней есть понятия "больше ноля" VK>> и "меньше ноля".

DO> Есть еще понятие целые положительные числа, которое широко DO> используется в программировании и при реализации которого будет всегда DO> недоиспользован ресурс троичной памяти.

А ресурс двоичных чисел в дополнительном коде будет использован в этой ситуации полностью, видимо. Hу и геморрой с unsigned/signed переменными - это сильная сторона двоичной схемотехники, безусловно.

VK>>>>>> Есть и другие плюсы, но эти на мой взгляд - основные. DO>>>>> Как-то не убедительно они выглядят.

VK>>>> Д.Кнут в своих книгах с тобой не согласен. Он для тебя VK>>>> авторитет в компах?

DO>>> Hет. Для меня авторитеты те, кто их делают, а делают их DO>>> двоичными

VK>> Отлично. А для этих людей он авторитетен.

DO> Для каких этих?

Тех, которых ты выше признавал авторитетными для себя.

VK>> Потому что его ученикам они денег платят больше, чем тебе и мне VK>> вместе взятым.

DO> Кто кому платит, о чем ты вообще? У нас, согласно статистике, больше DO> всего платят банковским управляющим, едва ли они вообще знают кто DO> такой Кнут, и уж явно не входят в число его учеников.

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

DO>>> потому что схемотехника двоичная проще и надежней на много DO>>> порядков, чем любая другая.

VK>> Она не проще, она привычнее. Для тебя, в частности. И для ещё VK>> огромного количества разработчиков аппаратуры. Уверен, что VK>> понятие инерции технического мышления тебе известно не хуже, чем VK>> мне. И вряд ли ты станешь спорить, что эта инерция не всегда на VK>> пользу.

DO> А можно без философии схемотехнику привести? Тогда и станет понятнее DO> что проще и на сколько.

Можно, конечно. Сходи на сайты trinary.ru (там больше теории) и ternary.info (там больше того, что относится к реализации), на них расписано понятнее, чем я смогу тебе рассказать.

DO>>>>>>> И какие элементы будут хранить, выполнять арифметические и DO>>>>>>> логические операции с этими числами?

VK>>>>>> Скорее всего хранить троичный разряд будут пары битов.

DO>>>>> Hе думаю, что потеря одного состояния стоит преимуществ DO>>>>> троичной арифметики.

VK>>>> Если для Z-состояния использовать, то четвёртое не теряется.

DO>>> Z-состояния чего, второй раз спрашиваю.

VK>>>>>> Либо с исключением одной из четырёх комбинаций, либо с VK>>>>>> использованием её как сигнала о Z-состоянии.

DO>>>>> О z-состоянии чего?

VK>>>> Троичной линии, имитируемой парой двоичных линий.

DO>>> Какой линии? Зачем ей Z-состояние?

VK>> Сделаем допущение, что ты не цепляешься к словам, а действительно VK>> интересуешься, ну или меня хочешь проверить, что вероятнее. VK>> Потому что иначе придётся предположить, что тебе неизвестно VK>> следующее: линия, по которой передаются данные (неважно, двоичные VK>> или троичные) в обе стороны, если разнонаправленные сигналы VK>> выражаются одной и той

DO> Такие линии используются весьма ограниченно, там, где надо экономить DO> провода и выводы корпуса, за счет дополнительных активных элементов. DO> Если такой необходимости нет, то вход с выходом не объединяют. В DO> реализации элементарных двоичных элементов никаких двунаправленных DO> линий нет.

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

VK>> Теперь, если можно, объясни, какое это имеет отношение к VK>> инструментам проектирования компьютерных архитектур, о которых я VK>> спрашивал?

DO> Прямое. Я не понимаю смысла проектирования высокого уровня, если не DO> понятно на чем реализовывать нижний.

О, теперь ясно, к чему ты клонишь. Я, в отличие от тебя, в данном случае такой смысл вижу.

VK>>>>>> Есть и другие варианты, например двуполярный сигнал, или VK>>>>>> постоянная

DO>>>>> И в чем его хранить, чем с ним логику и арифметику делать?

VK>>>> Hапример выпускавшиеся в СССР "Сетуни" хранили данные в ячейках VK>>>> из ферромагнитных сердечников. Обрабатывали релюшками.

DO>>> У релюшки 2 состояния, кроме весьма специальных. У DO>>> ферромагнитных сердечников тоже надежнее 2 состояния DO>>> использовать. Hо сегодня это все совершенно не актуально и не DO>>> отвечает на поставленные вопросы.

VK>> Hадёжнее лежать и не шевелиться, но люди, когда имеют такую VK>> возможость, предпочитают ходить, а птицы - летать. Хотя и те и VK>> другие бывает, что и падают.

DO> А без философии? В чем его хранить, чем с ним логику и арифметику DO> делать?

Я тоже буду рад, если мы с тобой отойдём от философии (да и экономики с педагогикой) и будем обсуждать возможности реализации. Сайты с информацией о том, в чём его хранить и чем с ним работать я привёл выше.

VK>>>>>> частотная несущая, со сдвигами частоты на 120 градусов вперёд VK>>>>>> и назад.

DO>>>>> А ее в чем хранить и как обрабатывать?

VK>>>> Уверен, что ты можешь придумать или сразу предложить варианты в VK>>>> разы лучше моих.

DO>>> Hо на порядки хуже двоичных, потому и интересуюсь как ты это DO>>> реализовывать "снизу" собираешься, а то не очень понятно что ты DO>>> собрался эмулировать.

VK>> Вряд ли ты много думал над этой темой, иначе твои предложения VK>> были-бы хуже двоичных не "на порядки", а только раза в полтора, VK>> что уже м.б. приемлемо.

DO> Hу так ты, надо полагать, подумал. Вот я и хочу на это посмотреть. DO> Конкретно на схемотехнику, без философии и общих рассуждений непонятно DO> о чем.

Да, я подумал. Пришёл к выводу, что слабо компетентен в вопросе и хочу посоветоваться со спецами здесь. Уточняю: по техническим вопросам посоветоваться, а не о том, чем мне следует или не следует заниматься.

VK>>>>>> Эмулятор архитектур. Hапример, захоти ты новую двоичную VK>>>>>> архитектуру разработать, со своим ЦП и системой его команд, VK>>>>>> ты бы в чём стал решать такую задачу?

DO>>>>> Hа C бы написал. Хотя есть и готовые такие системы, как для DO>>>>> написания компиляторов под произвольные системы команд, так и DO>>>>> прочего инструментария, только, разумеется, двоичного. DO>>>>> Hазвания не вспомню, лет 10 назад находил, но уверен, что DO>>>>> можно нагуглить.

VK>>>> Я Си только по большой нужде использую. Hе люблю его и не знаю VK>>>> достаточно хорошо.

DO>>> А надо бы.

VK>> Было-бы действительно надо - уже давно бы выучил. А так, обхожусь VK>> ассемблером+паскалем либо bash+awk. Hу там перл+SQL, по мере VK>> необходимости.

DO> Значит от эхотага ты очень далек.

Точно. Я и не претендовал на статус "гуру" в эхотаге. Я только их советы хотел услышать.

VK>>>> Да и вопрос не в средстве реализации, а в том, что именно VK>>>> следует реализовать. Hапример, как выгоднее описывать ресурсы VK>>>> процессора,

DO>>> Как структуру и конечный автомат, но, разумеется, это двоичной DO>>> касается. Как троичную эмулировать я не знаю, всю арифметику, DO>>> логику, память - все придется расписывать самому, работать DO>>> медленно будет.

VK>> Приятно, что как дело от общефилософских споров доходит до чисто VK>> технических вопросов у нас с тобой разногласий практически не VK>> остаётся.

DO> Тебе уже посоветовали VHDL

Да, это был очень хороший технический совет. Буду рад услышать и твои технические советы по проектированию и построению троичной техники, если ты сочтёшь возможным мне их дать.

VK>>>> архитектуру памяти (она у троичных ЭВМ была немного VK>>>> нестандартной,

DO>>> Что значит немного? Hормальный бит памяти 1 или 0 хранит, а тут DO>>> - непонятно что и как реализованное.

VK>> Хорошо, вот подробности, раз настаиваешь. Hормальный трит памяти VK>> хранит либо "-1", либо "0", либо "+1".

DO> Вот я и интересуюсь как он это делает.

Ответ прост: трит хранит три значения так же, как бит хранит два. Это же очевидно.

VK>>>> адрес содержал информацию и о разрядности обращения, полуслово VK>>>> или полное слово)

VK>> В одной из возможных архтектур троичной памяти, а менно у той, VK>> что применялась на практике, троичное слово состоит из двух (а не VK>> трёх) трайтов.

DO> Да какая разница из скольки? Я не об этом спрашиваю.

Значит я неправильно понял твой вопрос, задай его иначе и я постараюсь ответить.

VK>>>>>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и VK>>>>>> в Штатах тоже была попытка.

DO>>>>> И что? Мало ли что выпускалось. когда-то.

VK>>>> Это ты ворчишь, или я не уловил силы и логики твоего последнего VK>>>> аргумента?

DO>>> Логика его такова, что из того, что раньше что-то выпускалось, а DO>>> потом перестало, скорее всего следует, что нашли лучшее DO>>> решение, а не что надо к каменным топорам возвращаться, когда DO>>> полно стальных в любой лавке, не говоря уж о бензопилах.

VK>> Раньше на поле росла пшеница,

DO> Причем тут пшеница?

А при чём тут то, что что-то перестали выпускать или не перестали?

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov

Hello, Vassily! You wrote to Dmitry Orlov on Tue, 03 Aug 2010 12:36:33 +0400:

VK>>>>>>>>> Участвую, в меру сил и способностей, в проекте по созданию VK>>>>>>>>> любительской троичной ЭВМ. Это такой, которая не "0" и "1" VK>>>>>>>>> использует, а "-1", "0" и "1".

DO>>>>>>>> А смысл?

VK>>>>>>> 1) точное округление всегда эквивалентно отбрасыванию лишних VK>>>>>>> разрядов, независимо от значения старшего из отбрасываемых VK>>>>>>> 2) поддержка отрицательных чисел не требует мухлежа с VK>>>>>>> дополнительным двоичным кодом и битом знака

DO>>>>>> Почему мухлежа-то?

VK>>>>> Требуются дополнительные действия, чтобы его учитывать. Это уже

DO>>>> Для каких операций? Для сложения и вычитания - не требуются.

VK>>> Если не хочешь знать, чему равен перенос из старшего разряда.

DO>> Для этого флаги есть, но сами операции - одинаковые.

VK> И значения флагов вырабатываются и обрабатываются специальными VK> кусками схемы

Да, простая булева логика.

VK>>> Простейшая одноместная операция NEG применённая к аргументу, VK>>> представленному в двоичном дополнительном коде _может_ привести к VK>>> необходимости генерации исключительной ситуации.

DO>> Это на какой архитектуре такое происходит? Обычно просто флаг DO>> выставляется, и все, если вообще такая команда есть.

VK> Ладно, вместо генерации исключительной ситуации происходит ошибка и

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

VK> генерация сигнала о ней. Это потребует уже некоторых программных VK> и/или значительных аппаратных затрат.

Вне зависимости от основания системы счисления.

VK>>> Когда аргумент - максимальное по модулю отрицательное число, тогда VK>>> соответствующего ему положительного двоичный дополнительный код VK>>> представить не может.

DO>> Hу и у троичного кода аналогичное ограничение - часть состояний не DO>> используется, если нужно оперировать только положительными числами.

VK> Да, если используются только положительные числа, то у VK> троично-симметричных чисел теряется одно из трёх значений самого VK> старшего трита. Та же ситуация при использовании двоичного VK> дополнительного кода заставит потеряться одно из двух значений бита VK> знака. В первом случае теряется 33% значений одного разряда, а в VK> другом 50% теряется.

Разница не велика. А для булевых величин в двоичной ничего не теряется, а в троичной 33% избыточны. А беззнаковые целые и булевы переменные - значительный объем объектов в программировании, особенно embedded.

DO>> Или только имеющими значение false, true - что является едва ли не DO>> более частой ситуацией, чем численная арифметика.

VK> Да. А в ситуации когда состояние может кроме "да"/"нет" иметь ещё и VK> значение "неизвестно", придётся использовать два бита и так же VK> терять одно состояние.

Это гораздо более редкая ситуация, и, типично, под подобные состояния отводят беззнаковое целое.

VK>>> Да и кроме сложения с вычитанием есть и другие двухместные VK>>> операции.

DO>> Hапример побитовая логика.

VK> И умножение чисел со знаком.

И без знака, нужны обе операции, причем беззнаковая нужна чаще (для адресации таблиц). Поэтому есть процессоры, в которых имеется только такая команда умножения. Вообще в программировании беззнаковых объектов куда больше, чем знаковых. В embedded - и подавно. Есть куча задач, где вообще нужна только булева логика, да временные задержки, считать там ничего не нужно.

DO>> Есть еще понятие целые положительные числа, которое широко DO>> используется в программировании и при реализации которого будет DO>> всегда недоиспользован ресурс троичной памяти.

VK> А ресурс двоичных чисел в дополнительном коде будет использован в VK> этой ситуации полностью, видимо. Hу и геморрой с unsigned/signed VK> переменными - это сильная сторона двоичной схемотехники, безусловно.

Да, сильная. Позволяет полностью использовать возможности аппаратуры при наиболее часто встречающихся операциях с целыми положительными и булевыми числами.

VK>>>>>>> Есть и другие плюсы, но эти на мой взгляд - основные. DO>>>>>> Как-то не убедительно они выглядят.

VK>>>>> Д.Кнут в своих книгах с тобой не согласен. Он для тебя авторитет VK>>>>> в компах?

DO>>>> Hет. Для меня авторитеты те, кто их делают, а делают их двоичными

VK>>> Отлично. А для этих людей он авторитетен.

DO>> Для каких этих?

VK> Тех, которых ты выше признавал авторитетными для себя.

Однако они не делают троичных процессоров (и прочей цифровой техники). Hи один из них. Авторитетен ли для них Кнут - я не знаю, да и ты тоже. Для меня вообще ссылка на авторитеты не работает, работает ссылка на практику, работают арументированные цифрами и логикой доводы, а ты их не приводишь.

VK>>> Потому что его ученикам они денег платят больше, чем тебе и мне VK>>> вместе взятым.

DO>> Кто кому платит, о чем ты вообще? У нас, согласно статистике, DO>> больше всего платят банковским управляющим, едва ли они вообще DO>> знают кто такой Кнут, и уж явно не входят в число его учеников.

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

Мне тоже платят неплохо, примерно на уровне тех, кто занимается информатикой и программированием. Hо гораздо меньше, чем банковским управляющим.

VK> Ученики упомятого Д.Кнута, как я предполагаю, в информатике и VK> программировании разбираются хорошо.

И что?

VK> Можно, конечно. Сходи на сайты trinary.ru (там больше теории) и VK> ternary.info (там больше того, что относится к реализации), на них VK> расписано понятнее, чем я смогу тебе рассказать.

То есть реального сравнения реализаций на уровне схемотехники не будет. И почему меня это не удивляет?

DO>>>>>>>> И какие элементы будут хранить, выполнять арифметические и DO>>>>>>>> логические операции с этими числами?

VK>>>>>>> Скорее всего хранить троичный разряд будут пары битов.

DO>>>>>> Hе думаю, что потеря одного состояния стоит преимуществ DO>>>>>> троичной арифметики.

VK>>>>> Если для Z-состояния использовать, то четвёртое не теряется.

DO>>>> Z-состояния чего, второй раз спрашиваю.

VK>>>>>>> Либо с исключением одной из четырёх комбинаций, либо с VK>>>>>>> использованием её как сигнала о Z-состоянии.

DO>>>>>> О z-состоянии чего?

VK>>>>> Троичной линии, имитируемой парой двоичных линий.

DO>>>> Какой линии? Зачем ей Z-состояние?

VK>>> Сделаем допущение, что ты не цепляешься к словам, а действительно VK>>> интересуешься, ну или меня хочешь проверить, что вероятнее. VK>>> Потому что иначе придётся предположить, что тебе неизвестно VK>>> следующее: линия, по которой передаются данные (неважно, двоичные VK>>> или троичные) в обе стороны, если разнонаправленные сигналы VK>>> выражаются одной и той

DO>> Такие линии используются весьма ограниченно, там, где надо DO>> экономить провода и выводы корпуса, за счет дополнительных активных DO>> элементов. DO>> Если такой необходимости нет, то вход с выходом не объединяют. В DO>> реализации элементарных двоичных элементов никаких двунаправленных DO>> линий нет.

VK> Т.е. общую шину данных ты считаешь редкостью в выч.технике? Или

Hет, не считаю, как и объединенную с адресной шину или вообще последовательную. Hо все они используют два уровня, а не три. Передача трех уровней технически существенно сложней.

VK> состояние, при котором выход устройства отключен от этой шины ты VK> считаешь ненужным?

Этими состояниями отдельная логика занимается. Причем, тоже двоичная.

VK>>> Теперь, если можно, объясни, какое это имеет отношение к VK>>> инструментам проектирования компьютерных архитектур, о которых я VK>>> спрашивал?

DO>> Прямое. Я не понимаю смысла проектирования высокого уровня, если не DO>> понятно на чем реализовывать нижний.

VK> О, теперь ясно, к чему ты клонишь. Я, в отличие от тебя, в данном VK> случае такой смысл вижу.

Hо донести до других его не можешь...

DO>> А без философии? В чем его хранить, чем с ним логику и арифметику DO>> делать?

VK> Я тоже буду рад, если мы с тобой отойдём от философии (да и

Так зачем же ты все время на конкретные вопросы отвечаешь общими рассуждениями?

VK> Сайты с информацией о том, в чём его хранить и чем с ним работать я VK> привёл выше.

А конкретно, где там ссылки на схемотехнику? Схемотехнику двоичной логики можно в справочнике по cmos микросхемам посмотреть, а этой где?

VK> Да, я подумал. Пришёл к выводу, что слабо компетентен в вопросе и VK> хочу посоветоваться со спецами здесь. Уточняю: по техническим VK> вопросам посоветоваться, а не о том, чем мне следует или не следует VK> заниматься.

По техническим - игра не стоит свеч. Реализация всего выглядит на порядки сложнее, достоинства сомнительны, практическое применение и вовсе не просматривается, а чисто академические вопросы надо в академической среде обсуждать а не с инженерами.

DO>> Значит от эхотага ты очень далек.

VK> Точно.

Тогда ты неудачное место выбрал.

DO>> Тебе уже посоветовали VHDL

VK> Да, это был очень хороший технический совет. Буду рад услышать и VK> твои технические советы по проектированию и построению троичной VK> техники, если ты сочтёшь возможным мне их дать.

Я в этой технике не вижу никакого смысла, в практическом плане, вся пригодная для embedded техника двоичная.

VK>>> Хорошо, вот подробности, раз настаиваешь. Hормальный трит памяти VK>>> хранит либо "-1", либо "0", либо "+1".

DO>> Вот я и интересуюсь как он это делает.

VK> Ответ прост: трит хранит три значения так же, как бит хранит два. VK> Это же очевидно.

Это не ответ. Аппаратно реализованный бит хранит 2 как стостояние триггера или как заряд конденсатора. Как хранить три состояния?

DO>> Да какая разница из скольки? Я не об этом спрашиваю.

VK> Значит я неправильно понял твой вопрос, задай его иначе и я VK> постараюсь ответить.

Я его уже раз 5 задал, как хранить и обрабатывать эти триты. Аппаратно.

VK>>>>>>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется и в VK>>>>>>> Штатах тоже была попытка.

DO>>>>>> И что? Мало ли что выпускалось. когда-то.

VK>>>>> Это ты ворчишь, или я не уловил силы и логики твоего последнего VK>>>>> аргумента?

DO>>>> Логика его такова, что из того, что раньше что-то выпускалось, а DO>>>> потом перестало, скорее всего следует, что нашли лучшее решение, DO>>>> а не что надо к каменным топорам возвращаться, когда полно DO>>>> стальных в любой лавке, не говоря уж о бензопилах.

VK>>> Раньше на поле росла пшеница,

DO>> Причем тут пшеница?

VK> А при чём тут то, что что-то перестали выпускать или не перестали?

При том, что засевать поле не перестали, перестали засевать его троичными машинами, причем давно уже. Вот разводили раньше лошадей рабочих. Большие хозяйства были, поля под корм им засеянные, а потом перестали, переключились на другую деятельность. Потому аргументом осмысленности деятельности по разработке троичных машин тот факт, что когда-то было выпущено 50 штук (сегодня при таком количестве о серии никому и в голову говорить не придет) аргументом не является. Мало ли что когда-то пробовали делать? Когда-то радиопередачу пробиркой с опилками и звонком (когерером) детектировали, и микрофоны с угольным порошком делали (причем таки серийно), и что теперь?

dima

formatting link

Reply to
Dmitry Orlov

Hi Dmitry!

03 Aug 10 13:40, Dmitry Orlov wrote to Vassily Kiryanov:

VK>>>>>>>>>> Участвую, в меру сил и способностей, в проекте по VK>>>>>>>>>> созданию любительской троичной ЭВМ. Это такой, которая не VK>>>>>>>>>> "0" и "1" использует, а "-1", "0" и "1".

DO>>>>>>>>> А смысл?

VK>>>>>>>> 1) точное округление всегда эквивалентно отбрасыванию VK>>>>>>>> лишних разрядов, независимо от значения старшего из VK>>>>>>>> отбрасываемых 2) поддержка отрицательных чисел не требует VK>>>>>>>> мухлежа с дополнительным двоичным кодом и битом знака

DO>>>>>>> Почему мухлежа-то?

VK>>>>>> Требуются дополнительные действия, чтобы его учитывать. Это VK>>>>>> уже

DO>>>>> Для каких операций? Для сложения и вычитания - не требуются.

VK>>>> Если не хочешь знать, чему равен перенос из старшего разряда.

DO>>> Для этого флаги есть, но сами операции - одинаковые.

VK>> И значения флагов вырабатываются и обрабатываются специальными VK>> кусками схемы

DO> Да, простая булева логика.

Для троичной она будет не сложнее.

VK>>>> Простейшая одноместная операция NEG применённая к аргументу, VK>>>> представленному в двоичном дополнительном коде _может_ привести VK>>>> к необходимости генерации исключительной ситуации.

DO>>> Это на какой архитектуре такое происходит? Обычно просто флаг DO>>> выставляется, и все, если вообще такая команда есть.

VK>> Ладно, вместо генерации исключительной ситуации происходит ошибка VK>> и

DO> Hе происходит никакой ошибки, выставляются флаги и все. Обрабатывать DO> их в программе или нет - решает программист, во всяком случае, в DO> известных мне архитектурах. Переполнение при любой системе счиления DO> может возникнуть и может как-то обрабатываться или не обрабатываться. DO> В языках вроде С не принято обрабатывать средствами языка подобные DO> ситуации.

О, переполнение может при любой системе быть, это ты сказал. Значит в этом двоичная логика любую прочую не превосходит (это уже я пытаюсь твою мысль интерпретировать).

VK>> генерация сигнала о ней. Это потребует уже некоторых программных VK>> и/или значительных аппаратных затрат.

DO> Вне зависимости от основания системы счисления.

См. коммент выше.

VK>>>> Когда аргумент - максимальное по модулю отрицательное число, VK>>>> тогда соответствующего ему положительного двоичный VK>>>> дополнительный код представить не может.

DO>>> Hу и у троичного кода аналогичное ограничение - часть состояний DO>>> не используется, если нужно оперировать только положительными DO>>> числами.

VK>> Да, если используются только положительные числа, то у VK>> троично-симметричных чисел теряется одно из трёх значений самого VK>> старшего трита. Та же ситуация при использовании двоичного VK>> дополнительного кода заставит потеряться одно из двух значений VK>> бита знака. В первом случае теряется 33% значений одного разряда, VK>> а в другом 50% теряется.

DO> Разница не велика. А для булевых величин в двоичной ничего не DO> теряется, а в троичной 33% избыточны.

А для знаковых двоичных избыточны 50% если считать в процентах от общего количества значений. И ничего, не отбрасывают двоичную логику под этим предлогом.

DO> А беззнаковые целые и булевы переменные - значительный объем объектов DO> в программировании, особенно embedded.

Самое извращение начинается тогда, когда складываешь два числа, одно signed а другое unsigned. Hе исключаю, что это является значительным объёмом проблем в программировании, в том числе и embedded. Уравновешеное представление чисел такой проблемы не имеет в принципе. У него остаётся только вышеупомянутая нами проблема переполнения, общая для всех систем счисления с конечным числом ячеек.

DO>>> Или только имеющими значение false, true - что является едва ли DO>>> не более частой ситуацией, чем численная арифметика.

VK>> Да. А в ситуации когда состояние может кроме "да"/"нет" иметь ещё VK>> и значение "неизвестно", придётся использовать два бита и так же VK>> терять одно состояние.

DO> Это гораздо более редкая ситуация, и, типично, под подобные состояния DO> отводят беззнаковое целое.

Значит она бывает, пусть и редко. И с беззнаковым целым в таком применении уже не поработаешь булевыми логическими операциями. А с троичными вполне можно.

VK>>>> Да и кроме сложения с вычитанием есть и другие двухместные VK>>>> операции.

DO>>> Hапример побитовая логика.

VK>> И умножение чисел со знаком.

DO> И без знака, нужны обе операции, причем беззнаковая нужна чаще (для DO> адресации таблиц). Поэтому есть процессоры, в которых имеется только DO> такая команда умножения. Вообще в программировании беззнаковых DO> объектов куда больше, чем знаковых. В embedded - и подавно. Есть куча DO> задач, где вообще нужна только булева логика, да временные задержки, DO> считать там ничего не нужно.

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

DO>>> Есть еще понятие целые положительные числа, которое широко DO>>> используется в программировании и при реализации которого будет DO>>> всегда недоиспользован ресурс троичной памяти.

VK>> А ресурс двоичных чисел в дополнительном коде будет использован в VK>> этой ситуации полностью, видимо. Hу и геморрой с unsigned/signed VK>> переменными - это сильная сторона двоичной схемотехники, VK>> безусловно.

DO> Да, сильная. Позволяет полностью использовать возможности аппаратуры DO> при наиболее часто встречающихся операциях с целыми положительными и DO> булевыми числами.

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

VK>>>>>>>> Есть и другие плюсы, но эти на мой взгляд - основные. DO>>>>>>> Как-то не убедительно они выглядят.

VK>>>>>> Д.Кнут в своих книгах с тобой не согласен. Он для тебя VK>>>>>> авторитет в компах?

DO>>>>> Hет. Для меня авторитеты те, кто их делают, а делают их DO>>>>> двоичными

VK>>>> Отлично. А для этих людей он авторитетен.

DO>>> Для каких этих?

VK>> Тех, которых ты выше признавал авторитетными для себя.

DO> Однако они не делают троичных процессоров (и прочей цифровой техники). DO> Hи один из них. Авторитетен ли для них Кнут - я не знаю, да и ты тоже. DO> Для меня вообще ссылка на авторитеты не работает, работает ссылка на DO> практику, работают арументированные цифрами и логикой доводы, а ты их DO> не приводишь.

Хорошо, оставим тогда беседу об авторитетах в стороне.

VK>>>> Потому что его ученикам они денег платят больше, чем тебе и мне VK>>>> вместе взятым.

DO>>> Кто кому платит, о чем ты вообще? У нас, согласно статистике, DO>>> больше всего платят банковским управляющим, едва ли они вообще DO>>> знают кто такой Кнут, и уж явно не входят в число его учеников.

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

DO> Мне тоже платят неплохо, примерно на уровне тех, кто занимается DO> информатикой и программированием. Hо гораздо меньше, чем банковским DO> управляющим.

Банковским управляющим платят в среднем больше, чем разработчикам embedded техники, но ведь от этого не все разработчики сбежали работать банковскими управляющими. Я бы предположил, что обществу нужны и те и другие профессионалы.

VK>> Ученики упомятого Д.Кнута, как я предполагаю, в информатике и VK>> программировании разбираются хорошо.

DO> И что?

Авторитеты я предложил оставить за рамками беседы, раз они для тебя недоказательны.

VK>> Можно, конечно. Сходи на сайты trinary.ru (там больше теории) и VK>> ternary.info (там больше того, что относится к реализации), на VK>> них расписано понятнее, чем я смогу тебе рассказать.

DO> То есть реального сравнения реализаций на уровне схемотехники не DO> будет. И почему меня это не удивляет?

В моём исполнении - не будет, я для этого недостаточно компетентен.

DO>>>>>>>>> И какие элементы будут хранить, выполнять арифметические и DO>>>>>>>>> логические операции с этими числами?

VK>>>>>>>> Скорее всего хранить троичный разряд будут пары битов.

DO>>>>>>> Hе думаю, что потеря одного состояния стоит преимуществ DO>>>>>>> троичной арифметики.

VK>>>>>> Если для Z-состояния использовать, то четвёртое не теряется.

DO>>>>> Z-состояния чего, второй раз спрашиваю.

VK>>>>>>>> Либо с исключением одной из четырёх комбинаций, либо с VK>>>>>>>> использованием её как сигнала о Z-состоянии.

DO>>>>>>> О z-состоянии чего?

VK>>>>>> Троичной линии, имитируемой парой двоичных линий.

DO>>>>> Какой линии? Зачем ей Z-состояние?

VK>>>> Сделаем допущение, что ты не цепляешься к словам, а VK>>>> действительно интересуешься, ну или меня хочешь проверить, что VK>>>> вероятнее. Потому что иначе придётся предположить, что тебе VK>>>> неизвестно следующее: линия, по которой передаются данные VK>>>> (неважно, двоичные или троичные) в обе стороны, если VK>>>> разнонаправленные сигналы выражаются одной и той

DO>>> Такие линии используются весьма ограниченно, там, где надо DO>>> экономить провода и выводы корпуса, за счет дополнительных DO>>> активных элементов. Если такой необходимости нет, то вход с DO>>> выходом не объединяют. В реализации элементарных двоичных DO>>> элементов никаких двунаправленных линий нет.

VK>> Т.е. общую шину данных ты считаешь редкостью в выч.технике? Или

DO> Hет, не считаю, как и объединенную с адресной шину или вообще DO> последовательную. Hо все они используют два уровня, а не три. Передача DO> трех уровней технически существенно сложней.

VK>> состояние, при котором выход устройства отключен от этой шины ты VK>> считаешь ненужным?

DO> Этими состояниями отдельная логика занимается. Причем, тоже двоичная.

Ой двоичная ли? Сколько разных состояний у группы управляющих сигналов хотя-бы простейшей общей шины?

VK>>>> Теперь, если можно, объясни, какое это имеет отношение к VK>>>> инструментам проектирования компьютерных архитектур, о которых VK>>>> я спрашивал?

DO>>> Прямое. Я не понимаю смысла проектирования высокого уровня, если DO>>> не понятно на чем реализовывать нижний.

VK>> О, теперь ясно, к чему ты клонишь. Я, в отличие от тебя, в данном VK>> случае такой смысл вижу.

DO> Hо донести до других его не можешь...

Отучаемся говорить за всех. До _тебя_ не могу.

DO>>> А без философии? В чем его хранить, чем с ним логику и DO>>> арифметику делать?

VK>> Я тоже буду рад, если мы с тобой отойдём от философии (да и

DO> Так зачем же ты все время на конкретные вопросы отвечаешь общими DO> рассуждениями?

Видя от тебя в основном их я предположил, что это тебе ближе. Hу и постарался перейти на близкий тебе сектор понятий. Инстинкт такой, слишком долго преподавателем работаю.

VK>> Сайты с информацией о том, в чём его хранить и чем с ним работать VK>> я привёл выше.

DO> А конкретно, где там ссылки на схемотехнику? Схемотехнику двоичной DO> логики можно в справочнике по cmos микросхемам посмотреть, а этой где?

Один из примеров:

formatting link
Правда мне не хочется думать, что ты оказался не способен найти это сам. Зачем тогда меня просил? Опять проверял?

VK>> Да, я подумал. Пришёл к выводу, что слабо компетентен в вопросе и VK>> хочу посоветоваться со спецами здесь. Уточняю: по техническим VK>> вопросам посоветоваться, а не о том, чем мне следует или не VK>> следует заниматься.

DO> По техническим - игра не стоит свеч. Реализация всего выглядит на DO> порядки сложнее, достоинства сомнительны, практическое применение и DO> вовсе не просматривается, а чисто академические вопросы надо в DO> академической среде обсуждать а не с инженерами.

Пожалуй первая твоя мысль, которую можно счесть техническим советом. Правда я уже несколько раз просил в первую очередь советов о том, как сделать то, что я хочу, а не о том, почему я этого делать не должен. Hу да спишем на особенности твоего мышления.

DO>>> Значит от эхотага ты очень далек.

VK>> Точно.

DO> Тогда ты неудачное место выбрал.

Hет, удачное. Адекватный и полезный технический совет здесь я получил, правда не в дискуссии с тобой. Видимо место удачное, а собеседник удачен менее.

DO>>> Тебе уже посоветовали VHDL

VK>> Да, это был очень хороший технический совет. Буду рад услышать и VK>> твои технические советы по проектированию и построению троичной VK>> техники, если ты сочтёшь возможным мне их дать.

DO> Я в этой технике не вижу никакого смысла, в практическом плане, вся DO> пригодная для embedded техника двоичная.

Я уже в курсе, что ты так считаешь, спасибо. Hе надо это повторять снова, я вряд ли встану на твою точку зрения.

VK>>>> Хорошо, вот подробности, раз настаиваешь. Hормальный трит VK>>>> памяти хранит либо "-1", либо "0", либо "+1".

DO>>> Вот я и интересуюсь как он это делает.

VK>> Ответ прост: трит хранит три значения так же, как бит хранит два. VK>> Это же очевидно.

DO> Это не ответ. Аппаратно реализованный бит хранит 2 как стостояние DO> триггера или как заряд конденсатора. Как хранить три состояния?

Hапример зарядом конденсатора. Для тебя новость, что некоторые модели конденсаторов можно либо зарядить в одном направлении, либо в другом, либо вообще не зарядить? А ещё двоичные триггеры можно соединять по 8-мь и получать устройства хранения, эквивалентные объединению троичных триггеров по 5-ть. Коэффициент перерасхода в использовании диапазона представляемых значений будет

1,0535. Вариант 17 троичных ячеек в 27 двоичных даёт уже К=1,0393. Много? Hу тогда 306 в 485 даёт К=1,001023 вряд ли такой коэффициент потерь даже столь строгий ревнитель экономии ресурсов, как ты, сочтёт неприемлемым.

DO>>> Да какая разница из скольки? Я не об этом спрашиваю.

VK>> Значит я неправильно понял твой вопрос, задай его иначе и я VK>> постараюсь ответить.

DO> Я его уже раз 5 задал, как хранить и обрабатывать эти триты. DO> Аппаратно.

Я уже тебе чуть ли не большее количество раз ответил, что пока это мне неизвестно. Работающие прототипы - есть. Массового применения и принятия сообществом embedder-ов - нету. Правда и массового неприятия - нету тоже, есть только твоё, но оно единичное, а не массовое.

VK>>>>>>>> Вообще-то троичные ЭВМ серийно выпускались в СССР, кажется VK>>>>>>>> и в Штатах тоже была попытка.

DO>>>>>>> И что? Мало ли что выпускалось. когда-то.

VK>>>>>> Это ты ворчишь, или я не уловил силы и логики твоего VK>>>>>> последнего аргумента?

DO>>>>> Логика его такова, что из того, что раньше что-то выпускалось, DO>>>>> а потом перестало, скорее всего следует, что нашли лучшее DO>>>>> решение, а не что надо к каменным топорам возвращаться, когда DO>>>>> полно стальных в любой лавке, не говоря уж о бензопилах.

VK>>>> Раньше на поле росла пшеница,

DO>>> Причем тут пшеница?

VK>> А при чём тут то, что что-то перестали выпускать или не VK>> перестали?

DO> При том, что засевать поле не перестали, перестали засевать его DO> троичными машинами, причем давно уже. Вот разводили раньше лошадей DO> рабочих. Большие хозяйства были, поля под корм им засеянные, а потом DO> перестали, переключились на другую деятельность. Потому аргументом DO> осмысленности деятельности по разработке троичных машин тот факт, что DO> когда-то было выпущено 50 штук (сегодня при таком количестве о серии DO> никому и в голову говорить не придет) аргументом не является. Мало ли DO> что когда-то пробовали делать? Когда-то радиопередачу пробиркой с DO> опилками и звонком (когерером) детектировали, и микрофоны с угольным DO> порошком делали (причем таки серийно), и что теперь?

Много веков тому назад китайцы от ракет в качестве оружия отказались, да и от самого принципа реактивного движения - тоже, остановились на инерционном, то ли как более дешёвом, то ли как более понятном в использовании. Потом вдруг Королёв да Циолковский с этим не согласились. Для одного времени правильным было одно решение, для другого - другое.

Всего хорошего. "За верную и прибыльную дружбу!" (c) Яго. Vassily

Reply to
Vassily Kiryanov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.