Эмулятор i386

Научно-технические вопросы применения русского языка в программировании. Проекты с сайта программирование-по-русски.рф, кроме ЯОС . Информация об организациях и людях, использующих или изучающих русский язык в программировании. Сравнение операционных систем.
Ответить
Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Эмулятор i386

Сообщение Павиа » 04.01.20 12:09

Сделал эмулятор i386 процессора, побочно ассемблер и дизассемблер.
Работает CMOS, VGA в начальном уровне.
FPU в перспективе.

Изображение

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Эмулятор i386

Сообщение БудДен » 04.01.20 13:35

А эмулятор Байкала можете сделать?

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Эмулятор i386

Сообщение Павиа » 04.01.20 14:03

Это долго. Там куча команд базовые, дополнительные FPU и SIMD. Суммарно более 300 шт, а может и 500 шт.

А чем вас QEMU не угодил. Он же в SDK поставляется?
Я то для i386 почти месяц писал 80-160 часов или около того.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Эмулятор i386

Сообщение БудДен » 04.01.20 22:12

Не знаю, чем. Я пока эту тему вообще не копал. А насколько актуальна i386 сейчас? Как у ней с закладочками?

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Эмулятор i386

Сообщение Павиа » 04.01.20 23:26

В 2020 году начнут выпускать UEFI без поддержки CMS. Т.е. До этого года сохранялась совместимость с IBM PC в которых использовал i386.
Так как разработчики видео карт не спешат переписывать свой БИОС под ASL то совместимость с системой команд(ISA) процессора i386 сохранится ещё некоторое время лет около 5. После потеряет свою актуальность.
Отказ от 32-х битного режима произойдет скорее всего ближе к 2030 году.

Закладок в ISA i386 нету потому, что это ISA которая на поверхности и всем доступна и очень просто проверяется. Во-вторых i386 разрабатывался в 80-тых когда эти процессоры не были массовыми, и только стечение абстоятельств когда менеджеры IBM опубликовали вместо акций на фондовой бирже такой товар как компьютеры. И вот тогда уже компьютеры и стали массовыми. И если процессоры и попали в поле зрения ФБР то это уже было следующее поколение процессоров.

Во-вторых закладки это параноя. Кто гарантирует, что её не найдут враги?

Вот в Байкале как раз таки могут быть закладки.
Если бы надо было разработать закладку, то её следует помещать на этапе перевода VHDL в NET-LIST, делается это зарубежным софтом причем по слухам только разрешенным фабрикой. Проще всего найти One-Wire-debug или JTAG и вклинится проводом в эту конструкцию. Когда у вас 100 ТБ NetList найти лишний провод невозможно.

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

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

Так как Байкал это SOC в котором есть сетевые карты причем 10 гигабитного варианта, то там много аналоговой обвязки среди которой просто что-то спрятать.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Эмулятор i386

Сообщение Павиа » 04.01.20 23:26

Мне i386 нужен чисто для эмуляции БИОСа видео карты. Потом может дорасту до эмуляции БИОСа процессора.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Эмулятор i386

Сообщение БудДен » 05.01.20 01:25

Закладки - это не паранойя. Фабрика закладок работает так: закладки вносятся массированно везде, где только можно. Дальше всё это раздаётся даром или задёшево (Intel, Linux). Глупые русские клюют и покупают этого троянского коня. Дальше глупые русские понимают, что они попали и начинают чистить софт и железо от закладок. Русские находят множество закладок, но у них мало шансов когда-либо найти все закладки. А почистить железо - вообще нет шансов. Поэтому какое-то количество закладок остаётся не найденными. Кроме того, быстрое развитие ПО и железа позволяет постоянно пополнять запас ненайденных закладок. Таким образом, контроль над русскими компьютерами надёжно находится в руках американцев.

Притом, ФСБ угрожает тем, что персонально за кем-то приедет чёрный воронок. А ФБР угрожает тем, что из-под Киева прилетит как бы украинская баллистическая ракета с ядерной боеголовкой и зажарит всех по списку, не разбираясь, параноик или нет. Или просто российская АЭС вдруг случайно сломается. Все эти угрозы вполне реальны и они уже в прошлом воплощались для тех, кто не очень понравился США, разве только ядерных боеголовок (может быть) не было, хотя и это тоже не факт - ведь ядерное оружие в разные стороны развивается, в т.ч. в сторону снижения масштаба тоже.

Раньше можно было считать, что у меня паранойя, а теперь я работаю в сфере ИБ. Паранойя - это теперь мой профессиональный долг. Но и без паранойи, без ИБ, и так всё вышесказанное довольно очевидно. И об этом написано в моём новом манифесте, http://программирование-по-русски.рф .

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Эмулятор i386

Сообщение БудДен » 05.01.20 01:32

По теме, а как смотрится i386 по сравнению с какими нибудь ныне модными ARM?

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Эмулятор i386

Сообщение Павиа » 05.01.20 03:36

Ребята из Амазон недавно выпустили сервер на ARM у них это 2 попытка. Какая это попытка по миру не скажу.
Так вот ихней ARM обогнал x86 по производительности.
https://habr.com/ru/company/dcmiran/blog/479074/

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

Сравнивать x86 и ARM задачка не простая.

Это в плоть до конца 80 ISA определяла первенство. А после появления больших микросхем позволило организовать кэш-микрокоманд. И теперь уже определяет не ISA и микро-архитектура. Так как 90% времени съедает обращение к памяти, то у кого кэш больше тот и выигрывает. Эти чип-мейкеры идиоты полнейшие. Им в книжках теорию расписали ещё в 20-ных если не раньше. А они ARM сделали производительный только вчера.

Сильная сторона i386 вернее 8086 процессора это индексное обращение к памяти. Т.е работа со структурами, массивами и объектами. У ARM в этом плане по хуже так как загрузка индекса это плюс 1 так по сравнению с 8086. В принципе в ARM это можно решить, но пока технологию 0 latence придерживают.
Так же сильной стороной 8086 являеются строковые команды rep movs и rep cmps. Да конечно одно время эти команды проигрывали MOVNTDQ и даже MOVD.
Но не суть, суть в том что строки UTF-8 легко сравнивать этими командами и передавать из переменной в переменную. А на уровнее микроахитектуры можно ускорять в разы.
Одна только оптимизация строк Borland'у позволила ускорить свои приложения в 2 раза! и обойти ближайших конкурентов.

У ARM для этого ничего такого нету. Единственное это SIMD для пересылки большого набора данных. За счёт SIMD пересылка строк будет одинаковой. Что мы и видим в тесте кэширования веб-запросов.

Что касается домашнего применения ARM то тут нужны быстрые парсеры. ARM пытается выиграть за счёт оптимизации ветвлений x:=5=6 ? 5:4;
Когда как в x86 это решают за счёт SIMD обработки. У ARM с SIMD в этом плане тоже всё нормально, Для быстрых паресров нужна технология внедрения битов. Сурагатовые пары UTF как раз облегчают такую работу, но тут вопрос к программистам которые не умеют непосредственно работать с UTF8, а в начале декодируют его UCS16 или подобные кодировки. За счёт комбинации SIMD с маской ARM может выигрывать в парсинге данных.

Что касается графики то AlphaBlit это основная операция и тут выигрывает тот у кого регистры больше. У Intel проблемы с AVX512 у ARM такой проблемы нету у них 128 битные регистры. Зато ARM может с маской оптимизироваться. Так что тут ARM проигрывает, но за счёт оптимизированного софта незначительно.

Плюс FPU у ARM упрощённый, это значит что в научных расчётах он будет по быстрее чем x86, но вот в рендеринге напротив будет проигрывать.
Но на текущий момент у ARM нету оптимизированного FPU для производительных вычислений.

В целом обе архитектуры идут на ровне. В перспективе ARM даже будет по быстрее. Но сейчас у ARM нету процессора который бы смог превзойти intel на десктопе, а вот в серверном сегменте при цене в 2 раза ниже он выглядит неплохо. Что'бы догнать intel фирме ARM потребуется ещё 10 лет,

Ответить