Так неудивительно. Патрон довольно точно эмулирует временнЫе характеристики RK. Поставь у себя реальную скорость RK, а не свой разогнанный вариант, и разницы с эмулятором Патрона вообще не заметишь, ибо все время съест RK.
Вид для печати
Угу, как обычно - что увидел, про то пою. Смысл вовсе не эмуляции RK, иначе тест с HD я бы не делал.
- - - Добавлено - - -
Тактовая частота PDP-2011 - 100 МГц
Скорость передачи для эмулируемого RK - 4800 блоков за примерно 2.5 секунды - 0,9375 мб/с
Время компиляции-сборки двух мониторов RT-11 - 90 секунд
Тактовая частота процессора, на котором работает эмулятор - 2.4 ГГц в 24 раза быстрее
Скорость передачи винчестера, на котором расположен файл виртуального диска - больше 100 мб/с (ниже не падало) - ну пусть в 100 раз быстрее
Время компиляции-сборки двух мониторов RT-11 - 78 секунд - быстрее В 1.15 раз или НА 15 процентов
- - - Добавлено - - -
Это к вопросу о том, что - взять ноут, запустить на нём эмулятора, запихать в коробку и объявить невероятно быстрым PDP-11
Это значит, что аппаратная реализация всего в 20 с небольшим раз эффективнее программной. Странно. Я ожидал большего...
PDP-2011 далеко не оптимально написан. Во-первых, КМК, в начале написания человек только начинал знакомится с FPGA, во-вторых - стиль написания - программиста, а не железячника, в третьих - писалось по принципу - главное, что бы заработало.
То есть в нём много над чем можно поработать. Но, пока времени и знаниев-уменьем не хватает.
И основной тормоз сейчас - сам процессор (плюс обмен по внутренней шине). Скажем - пересылка регистр-регистр сейчас - пять тактов. Сделать её три - и скорострельность прыгнет за 20 лимонов, а сделать два - и будет за 30. Так что - про младшие FPGA, особенно современные (то есть возможность использовать более быстрый клок) - далеко не факт.
Ещё один небольшой кусок процессора переделаю - и на этом остановлюсь. Но ускорения (на той же клоковой частоте) - это не даст.
Возможно, переделаю обмен по шине - если придумаю как. Технически - это будет минус один такт на каждый обмен.
Речь не про оптимальность, я хочу немного с CUDA поиграться, там много исполнительных блоков и можно выстраивать конвейеры обработки, может получиться вполне превосходящая замена младшим FPGA для эмуляции PDP-11.
Ну, это несерьезно. Даешь суперскалярный PDP-11 на GPU! Хороший конвейер, пред-декодирование инструкций, предвыборки данных (подсистема памяти там вообще сказка) - получаем один GPU такт на инструкцию PDP-11 (а может и на две-три), да 1GHz. Скока-скока МИПС? Не, оно понятно что HDL-имплементация быстрее. Чисто теоретически. Это если испечь современный ASIC. А вот если посмотреть что доступно и реально - то Jetson за $150 скорее всего разорвет FPGA-шные реализации по скорости.
PS. Мне когда-то предлагали поучаствовать в разработке ASIC для майнинга Etherium. Я посмотрел на алгоритм, прикинул и понял что самый быстрый ASIC для этой крипты - это GPU, и лучше сделать не получится. С тех пор прошло несколько лет, ASIC-майнеры таки появились, но они все делают упор на энергоэффективности, а не на скорости :)
С программированием наигрался, так что не тянет. Да и принципиально нового ни в программировании ни в процессорах уже давно не было.
А зачем? Суперскаляр можно и на FPGA сделать :) Но вот сама эта идея (суперскалярность) мне не сильно нравится. Так что.. попробую пойти другим путём :) Я пока учусь, но в задумках сделать ещё один процессор на FPGA и попробовать что то новое придумать :) Если, конечно, руки дойдут :)
Не скажи. Даже программирование с использованием SSE2/Neon/Vector дает новые ощущения. А уж CUDA ... Программирование - оно разное, оказывается :)
Конечно, можно. Только какая там частота выйдет и сколько ресурсов понадобится? А в итоге не факт что самые толстые и быстрые FPGA за $100K завалят по скорости Jetson за $150.
Скажу :) Как человек, начавший программировать 37 (а если принять во внимание программируемые калькуляторы - то 39) лет назад :)
Вот поэтому я и говорю - не интересен мне суперскалярный PDP-11 :) Не интересно реализовывать чужие идеи :) Попробую родить свою :)
Давай я тебе скажу "как художник художнику" (c) - апеллировать к годам опыта в споре - оно совсем не аргумент, а наоборот. Это флажок, сигнализирующий что реальных аргументов нет.
Ты с использованием SSE2 программировал? Если да, то совсем разницы не увидел? Там алгоритмы интересно меняются.