Память для троичной ЭВМ
Moderator: haqreu
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Память для троичной ЭВМ
Есть предложение рассмотреть возможность применения современной двоичной памяти для хранения троичных данных. Один троичный разряд должен храниться в двух смежных битах. Причём четвёртое значение комбинации двух битов (1,1) следует рассматривать как "не задано" и при попытке чтения должно происходить прерывание. Данное предложение не ново, например, такой способ хранения данных применялся в проекте Ternac.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Память для троичной ЭВМ
Да я так и хотел сделать для первого прообраза компьютера Trinity, но только без прерывания. А тернак вроде бы только бумажный проект был? Ничего железного?Mac Buster wrote:
Есть предложение рассмотреть возможность применения современной двоичной памяти для хранения троичных данных. Один троичный разряд должен храниться в двух смежных битах. Причём четвёртое значение комбинации двух битов (1,1) следует рассматривать как "не задано" и при попытке чтения должно происходить прерывание. Данное предложение не ново, например, такой способ хранения данных применялся в проекте Ternac.
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Re: Память для троичной ЭВМ
Если я все правильно понял, то Ternac - это микропрограммная эмуляция троичной машины на двоичной машине. К чему оно привело, кроме 5-6 публикаций, мне пока не известно.Shaos wrote: А тернак вроде бы только бумажный проект был? Ничего железного?
-
- Maniac
- Posts: 211
- Joined: 14 Mar 2006 00:20
- Location: Иркутск
Re: Память для троичной ЭВМ
Да и не только память двоичную можно брать, а и всё остальное. Когда ещё промышленность раскачается делать для тебя специальные троичные элементы
А насчёт прерывания при обращении к неинициализированной памяти, так это нужна ещё специальная аппаратная приблуда, которая бы эти единицы туда при старте машины прописывала (сам проц, по идее, не может записать то, что для него не существует), а потом бы отслеживала при чтении процом, что из ОЗУ считывается. А спасает оно от одной единственной ошибки - "обращение к неинициализированной памяти"... Так других возможных ошибок - море...

А насчёт прерывания при обращении к неинициализированной памяти, так это нужна ещё специальная аппаратная приблуда, которая бы эти единицы туда при старте машины прописывала (сам проц, по идее, не может записать то, что для него не существует), а потом бы отслеживала при чтении процом, что из ОЗУ считывается. А спасает оно от одной единственной ошибки - "обращение к неинициализированной памяти"... Так других возможных ошибок - море...
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Память для троичной ЭВМ
Память поначалу действительно придётся использовать двоичную (если только не удасться найти какие-нибудь чипы с побочным эффектом возможности записи промежуточного логического уровня (между "0" и "1").
-
- Maniac
- Posts: 211
- Joined: 14 Mar 2006 00:20
- Location: Иркутск
Re: Память для троичной ЭВМ
Боюсь, не удастся.Память поначалу действительно придётся использовать двоичную (если только не удасться найти какие-нибудь чипы с побочным эффектом возможности записи промежуточного логического уровня (между "0" и "1").

И вообще, на первом этапе создания "железного компа" там (имхо)всё будет на тех элементах, которые имеются в нашем распоряжении, то есть на том, что освоено промышленностью.
Вот пример.
Все те плюсы, как экономия проводов, уменьшение количества элементов и т.п. - это для будущего, если полезность идеи будет общепризнана и начнётся массовое промышленное производство на действительно троичных элементах, в которых будет всё тысячу раз продумано и отшлифовано в направлении их простоты, экономичности, дешевизны и пр. (как оно сейчас продумано для двоичных).
Отсюда вытекает, что смысл троичного компа на существующей элементной базе состоит не в демонстрации его простоты и дешевизны, а в том , чтобы дать математикам и программерам инструмент для немедленной работы, пока "железячники" будут раскачиваться в области элементной базы. Если появятся реальные троичные элементы, то такой комп можно будет моментально перевести на новое железо (конечно, если появится такое желание). То есть, фактически такой комп на нынешнем железе по своей полезности почти то же самое, что программный эмулятор. Если я ошибаюсь - поправьте меня.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Память для троичной ЭВМ
Если почитаешь форум повнимательнее, то увидишь что мы напридумывали много "честных" троичных решений - без всякой псевдотроичности, что проповедуют "золотосеченцы" (кстати Стахов и компания тут считаются оффтопиком - мы религией не занимаемся).Ball Bess wrote: И вообще, на первом этапе создания "железного компа" там (имхо)всё будет на тех элементах, которые имеются в нашем распоряжении, то есть на том, что освоено промышленностью.
Вот пример.
Все те плюсы, как экономия проводов, уменьшение количества элементов и т.п. - это для будущего, если полезность идеи будет общепризнана и начнётся массовое промышленное производство на действительно троичных элементах, в которых будет всё тысячу раз продумано и отшлифовано в направлении их простоты, экономичности, дешевизны и пр. (как оно сейчас продумано для двоичных).
Отсюда вытекает, что смысл троичного компа на существующей элементной базе состоит не в демонстрации его простоты и дешевизны, а в том , чтобы дать математикам и программерам инструмент для немедленной работы, пока "железячники" будут раскачиваться в области элементной базы. Если появятся реальные троичные элементы, то такой комп можно будет моментально перевести на новое железо (конечно, если появится такое желание). То есть, фактически такой двоично-троичный комп по своей полезности почти то же самое, что программный эмулятор. Если я ошибаюсь - поправьте меня.
P.S. Что проще в качестве троичного запоминающего элемента - флип-флап-флоп из трех бинарных вентилей плюс схема преобразования трёх двоичных сигналов в один троичный (из твоего примера) или один конденсатор плюс два транзистора в качестве буфера (см. наш форум)?

-
- Maniac
- Posts: 211
- Joined: 14 Mar 2006 00:20
- Location: Иркутск
Re: Память для троичной ЭВМ
Конденсатор в качестве элемента памяти хорош, в двоичной технике он применён в динамической памяти, за счёт чего она и получилась дешевле статической, реализованной на триггерах.
Только вот упаковывал бы кто-нибудь ваши честные решения в честные троичные микрухи (триггеры, счётчики, сумматоры или даже АЛУ), а то уж больно громоздкий комп может получиться, если начать делать... Скорее всего даже более громоздкий, чем его эмуляция (или симуляция, как правильно?)на нечестной двоичной логике.
Вот почему-то зашла же речь об эмуляции троичной памяти на двоичных элементах, хотя "честный" троичный элемент памяти на этом форуме уже изобретён... Хочется избежать трудоёмкости и громоздкости, так ведь? Да и ферритовые торы, применённые в фетишном компе "Сетунь", тоже ведь по сути двоичные элементы... Ну и что из этого? Ничего страшного! Никому, кроме схемотехников, этого не видно, и это не помешало обкатывать на "Сетуни" идеи "троичности".
Поэтому я считаю, что низкий уровень (элементная база) может развиваться параллельно, удачи вам в этом деле, но несовершенство "железа" не должно тормозить развитие общих идей, которые не исчерпываются "железом". От алгоритмов сложения-вычитания хочется перейти и к тому моменту, когда можно будет нажать кнопочку "Run" и запустится программа, исполняемая на троичном CPU... Когда ты запустишь на реальном компе дебаггер и увидишь содержимое ОЗУ, РОНы и регистр флагов троичного CPU, то это будет, я уверен, такой восторг, что вряд ли тебя сильно расстроит тот факт, что из этого CPU где-то на о-очень низком уровне (невидимом программисту) покамест торчат уши К155ЛА3...
Только вот упаковывал бы кто-нибудь ваши честные решения в честные троичные микрухи (триггеры, счётчики, сумматоры или даже АЛУ), а то уж больно громоздкий комп может получиться, если начать делать... Скорее всего даже более громоздкий, чем его эмуляция (или симуляция, как правильно?)на нечестной двоичной логике.
Вот почему-то зашла же речь об эмуляции троичной памяти на двоичных элементах, хотя "честный" троичный элемент памяти на этом форуме уже изобретён... Хочется избежать трудоёмкости и громоздкости, так ведь? Да и ферритовые торы, применённые в фетишном компе "Сетунь", тоже ведь по сути двоичные элементы... Ну и что из этого? Ничего страшного! Никому, кроме схемотехников, этого не видно, и это не помешало обкатывать на "Сетуни" идеи "троичности".
Поэтому я считаю, что низкий уровень (элементная база) может развиваться параллельно, удачи вам в этом деле, но несовершенство "железа" не должно тормозить развитие общих идей, которые не исчерпываются "железом". От алгоритмов сложения-вычитания хочется перейти и к тому моменту, когда можно будет нажать кнопочку "Run" и запустится программа, исполняемая на троичном CPU... Когда ты запустишь на реальном компе дебаггер и увидишь содержимое ОЗУ, РОНы и регистр флагов троичного CPU, то это будет, я уверен, такой восторг, что вряд ли тебя сильно расстроит тот факт, что из этого CPU где-то на о-очень низком уровне (невидимом программисту) покамест торчат уши К155ЛА3...

-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Память для троичной ЭВМ
Ну вот, а ты говоришь, что не найти микрухи где бы можно было промежуточные значения запоминатьBall Bess wrote: Конденсатор в качестве элемента памяти хорош, в двоичной технике он применён в динамической памяти, за счёт чего она и получилась дешевле статической, реализованной на триггерах.

Правда надо без входных буферов отыскать (чего-нибудь из ранних CMOS).
-
- Maniac
- Posts: 211
- Joined: 14 Mar 2006 00:20
- Location: Иркутск
Re: Память для троичной ЭВМ
Ну да, говорю, потому что в микросхемах динамической памяти наоборот, сделано всё, чтобы нули и единицы чётко различались, а уменьшение с течением времени заряда на запоминающем элементе считается вредным явлением, с которым борются (предусмотрена т.н. "регенерация"). Там матрицы запоминающих элементов окружены тройным заслоном из усилителей считывания/записи, буферных регистров и тому подобной обвязки, к "конденсаторам" (в качестве коих обычно используется ёмкость затвора МДП-транзисторов) так просто не пробиться, даже в самых старых микрухах. Так что для практических целей предложение Mbr - самая реальная вещь.Ну вот, а ты говоришь, что не найти микрухи где бы можно было промежуточные значения запоминать
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Память для троичной ЭВМ
Вроде народ как-то изголялся с "плавающими" битами в памяти (ZX-NEXT).Ball Bess wrote:Ну да, говорю, потому что в микросхемах динамической памяти наоборот, сделано всё, чтобы нули и единицы чётко различались, а уменьшение с течением времени заряда на запоминающем элементе считается вредным явлением, с которым борются (предусмотрена т.н. "регенерация"). Там матрицы запоминающих элементов окружены тройным заслоном из усилителей считывания/записи, буферных регистров и тому подобной обвязки, к "конденсаторам" (в качестве коих обычно используется ёмкость затвора МДП-транзисторов) так просто не пробиться, даже в самых старых микрухах. Так что для практических целей предложение Mbr - самая реальная вещь.Ну вот, а ты говоришь, что не найти микрухи где бы можно было промежуточные значения запоминать
А еще есть в природе микросхемы памяти для запоминания аналоговых данных - например голоса в автоответчике. Может быть их как-то можно приделать к троичному компьютеру?
-
- Maniac
- Posts: 211
- Joined: 14 Mar 2006 00:20
- Location: Иркутск
Re: Память для троичной ЭВМ
Такое выражение слышал, что-то в области защиты от копирования, по-моему. Точнее не знаю, но можно поинтересоваться.Вроде народ как-то изголялся с "плавающими" битами в памяти
Что-то я про такие микрухи не в курсе. Ты уверен, что они существуют? Я всегда считал, что в автоответчиках хранится оцифрованный звук и воспроизводится посредством ЦАПа.А еще есть в природе микросхемы памяти для запоминания аналоговых данных - например голоса в автоответчике.
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Re: Память для троичной ЭВМ
Это несколько не то. Схема проста - область ПЗУ прошивается не с номинальным напряжением, а чуть ниже. В результате при чтении не удается дважды получить одно и тоже значение. Если получилось, то значит ПЗУ нагло содралиВроде народ как-то изголялся с "плавающими" битами в памяти (ZX-NEXT).

-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Память для троичной ЭВМ
Да вроде существуют - в интернете я натыкался на информацию о таких чипах. Технически я не вижу особых проблем для их создания.Ball Bess wrote:Что-то я про такие микрухи не в курсе. Ты уверен, что они существуют? Я всегда считал, что в автоответчиках хранится оцифрованный звук и воспроизводится посредством ЦАПа.А еще есть в природе микросхемы памяти для запоминания аналоговых данных - например голоса в автоответчике.