LINUX.ORG.RU
ФорумTalks

Делаем анти-штеуд

 ,


1

2

Как мы выяснили в другом треде, штеуд есть зонд. А что если нам сделать свой штеуд? Теоретически 130нм позволяет это сделать как по цене, так и по производительности.

Дело в том, что мну давно уже пилит свой процессор. В том числе я продумал но не до конца систему полубинарной трансляции. Почему полубинарной?

Основная проблема бинарной трансляции х86 например в арм - это несоответсвие адресов команд х86 их аналогам в армокоде. Ввести непосредственно х86 мы не можем ибо патенты. Скотинки предлагают ввести в теоретический процессор систему команд эквивалентную или расширяющую таковую но в других кодах. Этим мы обходим патент.

Физическая реализация такова: адресное пространство программы делится на несколько зон. Одна зона соответствует «обычному» режиму работы. Для х86-32 это 0-4гб. Для х86-64 это канонические адреса.

Еще одна зона используется для адресации транслированного кода. Эта зона лежит в области неканонических адресов х86-64, отличается рядом инвертированных старших битов от соответсвующих канонических адресов, а младшие биты сдвинуты влево на единицу. Таким образом, каждому байту машинного кода х86 соответствуют два байта оттранслированного кода. Процессор в режиме эмуляции х86 обращается не к фактическим адресам A которые получает фактически от программы, а к адресам (A*2) XOR K где K - это маска тех самых инвертированных старших битов. Если этим адресам соответствует страница, производится выборка байт команд из неё. Если нет - происходит исключение.

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

Из плюсов: у нас получается своя, непатентованная система команд. При этом система бинарной трансляции именно что простая. 1-в-1 или близко к тому.

Из минусов: я пока не нашел как закодировать все х86 команды, тем более х86-64. Но тут накладывается фишка чисто моей архитектуры, которую я хотел сунуть под низ.

Какие фундаментальные проблемы видны кому-либо на этом этапе?

☆☆☆

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

Napilnik ★★★★★
()
Ответ на: комментарий от LittleKawaiiNeko

Фотошоп в Вайне запустится? А Fallout New Vegas?

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

Napilnik ★★★★★
()

Как мы выяснили в другом треде, штеуд есть зонд.

есть альтернатива от другой фирмы же, всё просто.

eR ★★★★★
()
Ответ на: комментарий от eR

альтернатива зонду есть зонд. давайте говорить о более реальных вещах.

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

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от Napilnik

Скажи пожалуйста, где я писал про «стандартные материнки»?

я изначально ориентируюсь на memory cube , ибо там дифф.сигналы и скорость больше. я в свое время даже продумал программируемое I/O именно изза того, что не знал о существовании памяти с последовательным вводом-выводом. чтоб можно было банки делать либо serial i/o либо gpio, либо как часть контроллера LPDDR3

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

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от dk-

ну я хочу чтоб они знали, что я считаю их уродами. может быть им стыдно станет, и то - вряд ли.

это же форум про аниме, который маскируется под форум про линукс.

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от Deathstalker

Давай для простоты считать что мы говорим о России. Тут слава Богу пока патентов на софт не предвидится.

США это вообще страна с архаичной правовой системой. Определение такое если чо существует: архаичная правовая система. И кстати англия под него отлично попадает. Ну о чем с ними говорить.

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от ckotinko

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

eR ★★★★★
()
Ответ на: комментарий от ckotinko

я вообще думал, что для форума про линукс тема свободного железа как-то близка. ну там линукс - опенсорс - свободное железо.

Где логика?

Те кому близок линукс-опенсорс-свободное железо не запускают на свободном железе огороженные блобы. Те, кто не запускает огороженные блобы, не хочет x86 трансляции. Те, кто не хочет x86 трансляции выбирает QorIQ T4.

Ну или пилит что-то свое, полностью открытое. Очевидно же.

wieker ★★
()
Ответ на: комментарий от ckotinko

Скажи пожалуйста, где я писал про «стандартные материнки»?

я изначально ориентируюсь на memory cube , ибо там дифф.сигналы и скорость больше

Замечательно, ты ещё и материнки свои производить собрался, в одиночку на, «кроватной фабрике», только тебе за такие заслуги начальство завод не подарит. А общественность то и не знала.

а хотя знаешь, вот не буду я с тобой спорить. надоел.

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

Napilnik ★★★★★
()
Последнее исправление: Napilnik (всего исправлений: 1)
Ответ на: комментарий от ckotinko

если дойдет до vhdl проект, я могу вызваться тесты писать.

wieker ★★
()

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

Pyzia ★★★★★
()

почему во всей подобной движухе всё начинается с «давайте сделаем своё, т.к. не своё запатентовано»

это был коротенький пост, который согласно статье 282 УК РФ не должен у вас возбудить ненависть либо вражду к группе лиц принадлежащих к социальной группе «охеревшие патентные троли»

system-root ★★★★★
()
Ответ на: комментарий от LittleKawaiiNeko

Даже два ядра @ Два гига для запуска Фотошопа нет?

Два ядра @ 8 гигов есть. С вайном в последние годы случилась лажа. Сначала в новых версиях поломали нормальную работу с блобом АМД, пришлось откатиться на старую версию. Потом в качаемые вайном виндовые файлы напихали какой-то лажи, в результате чего запуск виндовых исполняемых файлов стал тормозным и глючным. Раньше, если виндовый бинарь запускал другие бинари, это происходило почти мгновенно, а сейчас - после нудной и долгой ругани в консоли. Хз, как фотожоп тормозить при запуске будет - он и в винде тормозной был.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Ну не знааю что может быть причиной. PlayOnLinux, отдельные вайнпрефиксы для проблемных программ и staging ветку Вайна попробуйте.

LittleKawaiiNeko ★★
()
Ответ на: комментарий от StReLoK

Лучше вон, ARM займись

По-моему, он не лучше интел в плане проприетарности/патентов. А вот RISC-V - это другое дело. Как в старом анекдоте про разные ОС - что собрал, на том и полетишь. Свободно.

gag ★★★★★
()

Ввести непосредственно х86 мы не можем ибо патенты. Скотинки предлагают ввести в теоретический процессор систему команд эквивалентную или расширяющую таковую но в других кодах. Этим мы обходим патент.

Даже GPL таким образом не обойти.

А вообще мне интересно, нельзя ли транслировать бинарник из x86 в XXX на обычном проце один раз, а на новом запускать уже без трансляции вот эти новые бинарники.

gag ★★★★★
()
Ответ на: комментарий от tailgunner

1) я могу заложиться на длину*4 но помоему это уже overkill. поэтому будем оперировать двухбайтовыми словами(далее просто слово)

главное зло - это однобайтные команды с регистром. часть команд типа AAA,AAM,AAD, сегментные и т.д. мы можем заменить на вызов функции. Но есть злобные 01010xxx, 01000xxx, 10000xxx - вот с ними жопоболь.

2) если 1 решено - тривиально.

3) ненужно.

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от gag

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

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от ckotinko

1) я могу заложиться на длину*4 но помоему это уже overkill

Зато 1 будет решено.

2) если 1 решено - тривиально.

Тогда всё решено..

tailgunner ★★★★★
()
Ответ на: комментарий от i-rinat

Разговор о юристах. У них там свой язык и своё мышление.

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

Ramil ★★★★
()
Последнее исправление: Ramil (всего исправлений: 1)
Ответ на: комментарий от gag

Посмотри в сторону Soft Machines. У них были софтовые трансляторы из АРМа в свою архитектуру, например, и никто им слова не сказал.
У эльбруса, по идее, тоже софтовый транслятор должен быть.
Оттранслировать бинарь и затем исполнять его на другой архитектуре возможно, примеры в истории есть.

Deleted
()
Ответ на: комментарий от dk-

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

Deleted
()
Ответ на: комментарий от Deleted

Может и можно. Хотя сомневаюсь что это под силу одному человеку.

Тут шиза автора важнее. Он со мной на коньяк спорить не хочет тк конца света ждёт. Ну и Накой проц?

dk-
()
Ответ на: комментарий от dk-

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

Deleted
()
Ответ на: комментарий от Deleted

Я не во всем согласен с ТС, но отрицать, что у него есть отличные технические компетенции - не буду.

Ты судишь только по ЛОР или знаешь что-то еще?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

В основном по ЛОРу. Кажется, я натыкался на его профиль в линкедине, там было что-то осмысленноею

Deleted
()

А что если нам сделать свой штеуд?

Уже сделано штеудом.

В том числе я продумал но не до конца систему полубинарной трансляции.

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

Quasar ★★★★★
()
Ответ на: комментарий от dk-

А представь, что это рисерч из academia(хз, как правильно это звучит для наших реалий, нии/вузы?). Вполне себе тема для рисерча.

Deleted
()
Ответ на: комментарий от ckotinko

Я исхожу из минимальной партии кристаллов(25-40 штук) по 180нм процессу, кристаллов порядка 4мм^2 площади, из которых штук 10 будут откорпусированы.
Все же достать 5 килобаксов из кармана куда реальнее, чем 300.

Deleted
()
Последнее исправление: SMD (всего исправлений: 1)
Ответ на: комментарий от ckotinko

Проприетарщину можно и на родном x86 гонять. Сейчас нужен именно свободный и доступный процессор, сборка компьютера на котором позволит и десктоп сделать, и ноутбук, и запускать имеющуюся базу софта. Пока самые перспективные варианты архитектуры это OpenRISC и RISC-V. В любом случае основная проблема - производство.

Quasar ★★★★★
()
Ответ на: комментарий от StReLoK

Лучше вон, ARM займись - придумай как по человечески приделать к ним PCI-E

Берёшь контроллер и приделываешь.

вменяемый аналог BIOS/UEFI

Нафиг-нафиг-нафиг. Лучше уж пусть дальше u-boot будет, или реализацию OpenFirmware с драйверами на FORTH.

и швабодку.

Ядро закрытое.

И вообще сделать это безобразие не в виде банально-огороженного SoC.

Как раз в виде SoC будет проще всего сделать.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Опенриск свое отжил, увы, в то время как риск5 набирает обороты.
Производство - не такая большая сложность, как создание нужных микросхем, которые будут покупать.

Deleted
()
Ответ на: комментарий от Deleted

софтовые трансляторы имеют поганую особенность.

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

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

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

ckotinko ☆☆☆
() автор топика
Ответ на: комментарий от Deleted

Про производительность уровня х86, конечно, речи там не идет

По крайней мере будет не хуже, чем Atom.

Есть огромный корабль x86, но с ним может случиться нечто плохое (и тенденции есть), поэтому первым делом нужна отдельная лодка (типа OpenRISC и RISC-V), которая позволит довести до кондиции всё остальное.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Есть огромный корабль x86, но с ним может случиться нечто плохое (и тенденции есть), поэтому первым делом нужна отдельная лодка (типа OpenRISC и RISC-V), которая позволит довести до кондиции всё остальное.

Я всеми руками за.

Deleted
()
Ответ на: комментарий от Quasar

я свой проц под FPGA изначально делал.

C++20 и 2D Graphics и изнасилования трупов (комментарий)

конкретно я целился в дешевую spartan3.

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

ckotinko ☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.