Архитектура компьютера→Эмуляция аппаратная или программная?
Как я понимаю в двоичных системах без программной эмуляции не обойтись даже если вынести эмуляцию троичных элементов на аппаратный уровень.
Какие будут соображения?
Alexander Obukhov, Тринари,
Мнения
001 Видима вам, Александр, первое слово..так сказать ваше соображение по этому поводу ))
002 Сложно сказать что-то определенное по этому поводу. Каждый будет делать так, как ему удобнее. Лишь бы для конечного пользователя не возникало неудобств.
Скажем память сейчас крайне непросто сделать троичной, но при использовании некоего промежуточного аппаратного слоя, можно создать правдоподобную иллюзию :)003 Насколько я знаю, все интерпретаторы работают по крайней мере на 20-30% медленнее компиляторов, поэтому ориентироваться следует на аппаратную реализацию.
Но на этапе разработки можно как-нибудь обойтись программной эмуляцией: глупо ждать создания общедоступного троичного компьютера для того, чтобы начинать писать программы004 А есть какие-нибудь идеи по поводу программной эмуляции?
005 Эмуляция на программном уровне возможна уже давно - на обычных двоичных компьютерах, но из-за отсутствия в процессоре деления и умножения на 3 и 3 в степени n одной операцией сдвига на один или n разрядов вправо или влево троичные алгоритмы теряют скорость.
Эмуляция на аппаратном уровне позволит делить и умножать на 3 и 3 в степени n одной операцией сдвига на один или n разрядов вправо или влево, что позволит троичным алгоритмам использовать это свойство троичного процессора с эмуляцией троичных элементов на аппаратном уровне, но при этом аппаратные затраты по сравнению с обычным двоичным процессором увеличатся.
Построение процессора на троичных двухуровневых триггерах и узлах на их основе позволит использовать и преимущество троичного процессора при делении и умножении на 3 и 3 в степени n, что значительно ускорит троичные алгоритмы, увеличит скорость передачи данных в операциях типа регистр-регистр, память-регистр, регистр-память и уменьшит аппаратные затраты.006 В пользу программной эмуляции говорит фактор широкого разнообразия двоичных платформ + высокая производительность этих систем.
Что же касаемо операций со степенью 3, то здесь положительную роль могут сыграть алгоритмы быстрого умножения/деления на 3.
Построение процессора на троичных двухуровневых триггерах не рационально из-за применяемой 3-х канальной системы для передачи 1 трита. К тому же для организации ЭВМ требуются синхронизирующиеся триггеры, а представленный двухуровневый триггер относится скорее к RS-триггерам, которые используются например как буферы.007 P.S. В этой теме хочется обсудить именно пути эмуляции, что же касается двухуровневого триггера – его обсуждение ведется в отдельно теме.
008 Все зависит от того, какая "степень правдоподобия" нужна при симуляции. Можно, конечно, создавать эмулятор с точностью до отдельных логических элементов. С другой стороны наиболее полезным будет эмулятор более высокого уровня, состоящий из ЦП (троичные регистры и АЛУ) и трочных ОЗУ, ПЗУ и устройств ввода/вывода (хотя бы клавиатуры и телетайпа), не вдаваясь в подробности, как именно они устроены. Эта тема перекликается с http://trinary.ru/discussions/17 (Троичный язык программирования). Надо разработать синтаксис этого языка и по нему можно создавать эмулятор
009 Что касаемо высокоуровневой системы, то тут предлагаю посмотреть в сторону ДССП.
В нём уже есть троичность :) (К сожалению «эмулируемая» — компьютер то двоичный)
