Возможно ли создать 16-битный нативный алгоритм вычисления SHA2-256?11.09.12 20:31 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 14.09.12 17:14 Количество правок: 13
В википедии псевдокод SHA2 оперирует 32-битными словами. Это критично? Если имеется очень шустрый n-битный проц (moreother, их массив), со всеми нужными нам вращениями и сдвигами, мог бы он вычислять SHA2 без оверхеда на эмуляцию 32битной арифметики?
Заранее всем гуру спасибо за ответы :)
Скорее всего это и общий вопрос -- истинно ли, что отличные от референсных реализаций алгоритмы ВСЕГДА несут оверхед на повышенную/пониженную от 32 бит природу вычислительного агента? Или вот так: является ли 32битность врождённой для SHA2-256?
Ну и да -- 16битный тоже не факт, пытаюсь заточить SHA2 под 18 бит, как бы кощунственно это не звучало -))
Чёт мне кажется, что это вопрос на диссер... а может и кто-то просто разомнёт мыщцы... Но, в любом случае, ещё раз спасибо за конструктив.
Не понял13.09.12 23:30 Автор: leo <Леонид Юрьев> Статус: Elderman
Хочу использовать его для майнинга биткоинов, для этого надо его научить шустро считать SHA2-256.
Аппаратно умеет форт, есть для него среда разработки и софтварный эмулятор.
Осталось совсем чуть-чуть -- не сломать свой уставший моск об forth -))
<updated>Ошибся с указанием мипсов — его мощность аж 96000 MIPS.</updated>
Грубые прикидки: представим, что на оверхед уйдёт больше половины (учитывая его неординарность) — останется скажем, 40000 MIPS.
Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz даёт ~9000 BogoMips и считает 66.6 мегахешей в секунду. Получается что наши оценочные 40000 MIPS могут дать 296 мегахешей, что сравнимо с топовыми AMD GPU, но на два порядка более низком энергопортеблении.
Не вижу большой проблемы...
Но для получения максимальной производительности тебе придеться писать мнемоникой машинных кодов. У тебя есть спецификация этого проца и ассемблер для компиляции?
33 инструкции16.09.12 19:46 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 16.09.12 20:04 Количество правок: 8
Вот тут Чак Мур передаёт всем привет http://205.178.152.129/1907796/WelcomeByChuck.wmv , и говорит, что форт живее всех живых и ещё послужит на набивание кошелей биткоинами благо человечества. И что этот проц... ну в общем, дело всей его жизни, и шёл он к нему 40 лет. Асинхронный, нетактируемый.
Короче, все проблемы в циклических сдвигах. Придется циклами "крутить" пары 16-битных слов. Где-то может-быть 18 бит помогут, а может и навредят. В среднем тебе придется делать N mod 16 итерации цикла на каждый сдвиг.
IMHO игра не стоит свеч, копай в сторону FPGA на готовой карте PCI-Express.
Ладно, будем искать (C) Брилл. рука ;) Пока погряз в софт. эмуляторе — чувствую там себя как конь в сферическом вакууме :)02.10.12 22:00 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 02.10.12 22:04 Количество правок: 2
Там прикольно — вывод в порт соседнего проца рождает кагбэ process spawn — если целевой проц свободен, он хватает вывод, и пытается его исполнять. В 18-битное слово могут быть упакованы 3 инструкции...
Романтика, блин -))
C процом более высоких разрядов точно есть эффективные...11.09.12 23:36 Автор: AMMOnium Статус: Незарегистрированный пользователь
783 цикла на байт на AVR по сравнению с 10-12 циклами на десктопных процах Core i7 это очень даже ничего (если учесть разницу в тактовой частоте, каких-то четыре порядка).
В моём случае голову прийдётся поломать ой-ёй...16.09.12 21:45 Автор: HandleX <Александр М.> Статус: The Elderman
Процы организованы в матрицу 18x8. Общей шины как таковой нет, чтобы инструкция упала в проц, она должна быть загружена из соседних процов. Т.е. похоже на некий завод с однотипными станками, с транспортными линиями между ними.
И надо быть дирижёром в душе, чтобы это всё "зазвучало".