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. Но тут накладывается фишка чисто моей архитектуры, которую я хотел сунуть под низ.

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

☆☆☆

А еще можно взять дизассемблерный код переформатировать его и скомпилировать в арм

SR_team ★★★★★
()

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

Этим мы обходим патент.

Ты не проконсультировался у юристов и не проанализировал недавний случай агрессии Intel по поводу SSE (SSE2).

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

Так пока процы делать будут эту проприетарщину и будут таскать. Лучше вон, ARM займись - придумай как по человечески приделать к ним PCI-E, вменяемый аналог BIOS/UEFI и швабодку. И вообще сделать это безобразие не в виде банально-огороженного SoC. Может хоть так оно на десктопы потянется.

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

нет, можно софтину написать. И не удивлюсь если окажется, что такая уже есть

SR_team ★★★★★
()

Пока выходят только ангарные доминаторы спецификаций, вроде эльбруса.

qula
()

Теоретически 130нм позволяет это сделать как по цене, так и по производительности.

Что? Лучше Bochs на QorIQ запускать. То ему HBM подавай, то 130 нм.

wieker ★★
()
Последнее исправление: wieker (всего исправлений: 1)
Ответ на: комментарий от i-rinat

у нас на один байт х86 кода два байта нашего кода. я вижу тут возможность векторизации обычных команд и сим способом эмуляции SSE. кстати нам нужен SSE4.2 минимум чтоб жить и AVX

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

Что ты так к QorIQ привязался?
130нм вполне себе хороший и относительно дешевый техпроцесс.
Я был бы рад подискутировать про бинарную трансляцию х86, но нда через нда(

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

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

А чем плохо то, как сделано сейчас?

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

Что ты так к QorIQ привязался?

Ничем, тот же закрытый процессор. Просто топикстартер начинал с «чего-то по производительности как интел, но только без блоба», а этот процессор подошел под критерий.

Насчет собственного процессора - это классная идея, я слышал чисто радиолюбители недавно SuperH на TSMC заказывали.

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

Насчет собственного процессора - это классная идея

Я бы в этом случае смотрел в сторону risc-v, тк остальное мертво и не шевелится. Про производительность уровня х86, конечно, речи там не идет, но ОоО ядра есть и пару лет назад они были сравнимы с А15. Подождем результатов их нового воркшопа, там дадут апдейт.

Deleted
()

Вместо intel взять AMD, Эльбрусы или что-нибудь из MIPS. Зачем еще что-то городить? Loongson'ы тащем-то по производительности и энергопотреблению вполне ок.

kirk_johnson ★☆
()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от dk-

Со скотиной можно нормально говорить за железки и иногда за код. Так он может создать впечатление адекватного (ну почти) человека.

StReLoK ☆☆
()

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

Это никому не нужно?

это несоответсвие адресов команд х86 их аналогам в армокоде

А не проще купить готовый транслятор x86 в arm
он 450 рублей стоит? Если зачем-то нужно запускать x86 код на не x86 процессоре

onon ★★★
()

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

Deleted
()

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

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

massimus ★★★
()

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

Твоя некомпетентность. Хочу напомниить что в предыдущей твоей теме для борьбы с зондами от Intel ты предлагал запилить чипсет (!!!) без Intel ME (!!!). Может все таки стоит сначала подучить матчасть?

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

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

ОК, ты неадекватен как всегда ))

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

эмуляции SSE

Сам факт того, что хоть как-то вовлечено SSE/SSE2 может повлиять на решения суда. Нужны консультации с юристами.

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

Сам факт того, что хоть как-то вовлечено SSE/SSE2 может повлиять на решения суда. Нужны консультации с юристами.

Через 2 года точно истечет SSE, через 3 года точно истечет SSE2. Не вижу проблем.

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

Быстрее чем за 3 года такой процессор не задизайнить. Через 3 года SSE2 будет свободно от патентов.

Я тебе привел пример SuperH, его забацали ровно через 20 лет, после истечения патентов на ISA.

wieker ★★
()
Последнее исправление: wieker (всего исправлений: 1)
Ответ на: комментарий от i-rinat

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

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

Проприетарщину на твоём процессоре пускать не будут, а Linux можно адаптировать написав соответствующий транслятор или как там его для gcc.

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

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)

ckotinko, а ты в токсе есть, давай соберёмся, поболтаем.

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

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

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

отдельная система команд, аппаратно только преобразуются адреса команд.

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

i-rinat ★★★★★
()

Как ты его собрался производить? На 3д принтере?

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

Есть истории успеха программных трансляторов из х86 и не только в РФ.

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

я предложил способ как не трахаться со свирепой бинарной трансляцией. она будет 1-в-1 со сложностью О(n). но вдруг кто-нибудь скажет: чувак, а вот такой вот сценарий есть и твоя схема ломается.

увы. практика показывает, что на ЛОРе спрашивать бесполезно - это форум про аниме. надо идти на wasm.ru.

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

а можешь примерно подсказать стоимость масок на 130 и 90 нм на настоящий момент?

Для Europractice такие расценки:

http://europractice-ic.com/docs/170421_MPW2017-general-v10.pdf

Может, тебе поможет прикинуть стоимость «настоящего» заказа.

wieker ★★
()
Последнее исправление: wieker (всего исправлений: 1)

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

1) Ты заложился на то, что длины команды*2 хватит для перекодирования любой команды

2) У тебя нет бинарного транслятора

3) Если ты возьмещь бинарный транслятор из qemu, то, ИМХО, правильнее делать акселератор TCG backend ops (если на загружаемом микрокоде - вообще хорошо).

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.