ProMiNick
Novelist
Joined: 16 Jun 2018 14:35 Posts: 25
|
Объединение букв разных языков в единый символ, только по тому что у них схожее начертание - дизлайк. Каждый символ не занимает ровно 1 машинный атом - дизлайк. (под машинным атомом имею в виду байт в случае бинарных, трайт - в случае тернарных машин).
Прошу прощения за критику. Но я симпотизирую к тому что бы ваша тернарность больше к 3 привязана была, а не цеплялась за 2. мои симпатии наверно в большей мере навеяны x86 и ее SIMD инструкциями. так трит - 3 значения, триббл - три трита, трайт - три триббла, вектор - три трайта, матрица - три вектора, кубическая матрица - три матрицы. директивы определения тернарных данных: dt - трайт ;9 dv - вектор ;27 dm - матрица ;81 ds - sub n-matrix ;243 dn - n-matrix ;729 - размер всех доступных регистров
адресное пространство 3х трайтовое - физически можно задействовать только часть, юзерспейсу только положительные адреса, системе - все. именовать регистры r1..r27, каждый размером 1 вектор - 3 трайта регистры с r15 по r27 системные - недоступны из юзерспейса. 5 особых регистров, остальные равнозначные. r12 - стек данных юзерспейса (независимый от стека вызовов), r13 - стек вызовов юзерспейса, r14 - программный счетчик юзерспейса, r15 - программный счетчик системного режима r16 - стек вызовов системного режима
все инструкции сгруппировать в кортежи из трех последовательных инструкций занимающих суммарно 27 трайт все аргументы интрукции либо кодируются внутрь инструкции либо 9 или 18 последних трайта кортежа инструкций это ссылки на структуры данных и инструкция производится совсем над другими данными в зависимости от содержимого этих структур - что то вроде статических подпрограмм. Математику и логику неплохо уметь проводить над регистрами,всеми частями регистров(трибблами) и трайтами, а также над памятью как в виде единой ячейки в 243(81,27,9,3,1) трайта так и воспринимаемой как цепь блоков для однотипной операции над блоками (размером меньше чем сама ячейка т.е. 81,27,9,3,1 трайта). Дополнительно должна быть усеченая математика, в операциях к усеченой математике каждый блок может содержать только триты в 2х состояниях: в 0 и еще в одном, последний из 9 тритов также всегда 0. Для взаимодействия с периферией отдельное адресное пространство, доступное для пересылки данных в/из регистры и в/из обычную память. Пересылка возможна трех типов обычная, с постиндексацией, с преиндексацией. можно добавить еще режимы: какой нибудь интеррапт режим и использовать другой банк регистров r1-r14, т.е. названия те же и доступ из инструкций также, но будут совсем другие регистры - так чтоб пользовательские не надо было сохранять.
Жаль прожорливая очень моя идея - куча регистров(дорого в реализации) - 27 трайтов под 3 инструкции - тоже дофига для простых инструкций то... (тогда уж так - изменил топик на ...в понимании)
Last edited by ProMiNick on 26 May 2020 22:48, edited 1 time in total.
|