Последние темы
» Вити больше нет!автор bug19 Пн Фев 20 2023, 19:54
» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47
» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05
» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03
» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02
» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52
» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36
» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37
» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33
» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00
» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58
» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17
» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07
» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08
» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09
» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02
» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47
» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11
» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33
» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38
» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12
» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01
» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22
» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08
» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08
Самые активные пользователи за месяц
Нет пользователей |
Поиск
HM-SHA256-v1. Разные наработки. Часть-1.
Страница 2 из 2 • Поделиться
Страница 2 из 2 • 1, 2
.
26
Блииин... Да что же такое. Всё не такое. Вот есть у меня некоторые сомнения, по поводу того, правильно ли я всё понял. Есть три основных нюанса, правильность понимания которых у меня вызывает сомнение. И найдя очередной источник, например: как этот, я по прежнему нахожу подтверждение, что я всё правильно понял, только в отношении тех мест, в отношении которых у меня сомнений нет. Но вот это пусть тут будет, как пример, и лаконичное изложение с примером:
Шаг 1 — Предварительная работа
Преобразуем «Привет, мир» в двоичный код:
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100
Добавим 1:
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100 1
Дополните код нулями, пока данные не станут равны 512 бит, минус 64 бита (в результате 448 бит):
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Добавьте 64 бита в конец в виде целого числа с порядком байтов от старшего к младшему (big-endian), представляющего длину входного сообщения в двоичном формате. В нашем случае это 88, или «1011000».
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 01011000
Теперь у нас есть ввод, который будет делиться на 512 без остатка.
В общим платку модуля Sum_0 я решил буду переразводить, чтобы всё же уложиться в размеры 70 х 70 мм, а то итак много места будет занимать прототип. Либо блокировочные конденсаторы расположу не над микросхемами, а с боку, справа, либо уменьшу их количество, до 1 -го на 4 микросхемы, как в обычных микросхемах у которых по сути 4 логических элемента в одном корпусе. И уберу один контакт на входном и выходном разъёме GND и одного контакта достаточно, который выдерживает 1 А, думаю достаточно исходя из параметров и реальной ситуации при работе, хотя в идеале нужно 2 минимум и на GND и на +5 В, но для прототипа, "итак сойдёт" ))), а в оконечном варианте этих всех разъёмов не будет, хотя другие будут, но там уже всё будет с двойным запасом точно.
В общим, процесс...
Шаг 1 — Предварительная работа
Преобразуем «Привет, мир» в двоичный код:
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100
Добавим 1:
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100 1
Дополните код нулями, пока данные не станут равны 512 бит, минус 64 бита (в результате 448 бит):
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Добавьте 64 бита в конец в виде целого числа с порядком байтов от старшего к младшему (big-endian), представляющего длину входного сообщения в двоичном формате. В нашем случае это 88, или «1011000».
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111
01110010 01101100 01100100 10000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 01011000
Теперь у нас есть ввод, который будет делиться на 512 без остатка.
В общим платку модуля Sum_0 я решил буду переразводить, чтобы всё же уложиться в размеры 70 х 70 мм, а то итак много места будет занимать прототип. Либо блокировочные конденсаторы расположу не над микросхемами, а с боку, справа, либо уменьшу их количество, до 1 -го на 4 микросхемы, как в обычных микросхемах у которых по сути 4 логических элемента в одном корпусе. И уберу один контакт на входном и выходном разъёме GND и одного контакта достаточно, который выдерживает 1 А, думаю достаточно исходя из параметров и реальной ситуации при работе, хотя в идеале нужно 2 минимум и на GND и на +5 В, но для прототипа, "итак сойдёт" ))), а в оконечном варианте этих всех разъёмов не будет, хотя другие будут, но там уже всё будет с двойным запасом точно.
В общим, процесс...
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
.
27
Тут, покладу, пусть будет.
A blockchain is a decentralized public ledger of transactions that maintains the validity of transactions by a distributed consensus mechanism (nakamoto, ). In bitcoin, the process of authenticating transactions in this public ledger is called mining. It involves searching for a 32-bit key known as nonce value such that when combined with the message which lists the transactions, the double SHA-256 hash of the block (message + key) falls within a certain range. Whenever a miner finds a block i.e. 32-bit key (nonce) for an input message that leads to desired hash, the miner is rewarded with bitcoins. The overall process for bitcoin mining is captured in 4(a).
A bitcoin miner tries to maximize profit by trying multiple keys in parallel and as fast as possible as the probability of finding the key and getting rewarded is directly proportional to the total hash rate. However, repeated SHA-256 computation requires substantial power due to high computational intensity. The net profit depends both on the reward and operating costs (energy consumption (o2014bitcoin, )). Hence, energy-efficiency (in GH/J) is the figure-of-merit that is optimized to increase profits. For this reason, bitcoin mining has evolved from CPUs to GPUs to FPGA and finally to ASIC-based implementations in the last decade.
The SHA-256 computation of a message is carried out as shown in Figure 4(b). The message scheduler unit (MSU) takes an incoming message and splits it into 512-bit chunks. The MSU schedules a different 32-bit data to the compression function generator (CFG) every cycle, consuming 512-bit data over 64 rounds. The CFG uses this data and predefined constants to generate a 256-bit intermediate hash after every 64 iterations which is collected by the intermediate hash collector (IHC). When the entire message is processed, the values in the IHC registers is the final 256-bit hash.
Для прочтения на досуге: https://disk.yandex.ru/i/_FK6H8qSnVd94A
.
A blockchain is a decentralized public ledger of transactions that maintains the validity of transactions by a distributed consensus mechanism (nakamoto, ). In bitcoin, the process of authenticating transactions in this public ledger is called mining. It involves searching for a 32-bit key known as nonce value such that when combined with the message which lists the transactions, the double SHA-256 hash of the block (message + key) falls within a certain range. Whenever a miner finds a block i.e. 32-bit key (nonce) for an input message that leads to desired hash, the miner is rewarded with bitcoins. The overall process for bitcoin mining is captured in 4(a).
A bitcoin miner tries to maximize profit by trying multiple keys in parallel and as fast as possible as the probability of finding the key and getting rewarded is directly proportional to the total hash rate. However, repeated SHA-256 computation requires substantial power due to high computational intensity. The net profit depends both on the reward and operating costs (energy consumption (o2014bitcoin, )). Hence, energy-efficiency (in GH/J) is the figure-of-merit that is optimized to increase profits. For this reason, bitcoin mining has evolved from CPUs to GPUs to FPGA and finally to ASIC-based implementations in the last decade.
The SHA-256 computation of a message is carried out as shown in Figure 4(b). The message scheduler unit (MSU) takes an incoming message and splits it into 512-bit chunks. The MSU schedules a different 32-bit data to the compression function generator (CFG) every cycle, consuming 512-bit data over 64 rounds. The CFG uses this data and predefined constants to generate a 256-bit intermediate hash after every 64 iterations which is collected by the intermediate hash collector (IHC). When the entire message is processed, the values in the IHC registers is the final 256-bit hash.
Для прочтения на досуге: https://disk.yandex.ru/i/_FK6H8qSnVd94A
.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
.
28
Закончил вот пока прототип платки SUM_0_v0.02, конечно всё ещё нужно будет тщательно проверить, ещё раз, на всякий случай и потом можно будет и заказать, как баблишка наковыряю, хорошо то, что деталей не много, всего 64 микросхемы, 64 конденсатора и они все однотипные, и разъёмы, гребёнка с контактами, с шагом 2 мм.
Реализуемая функция: Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22)
По размерам удалось всё же уложиться в 70 х 70 мм (7 х 7 см), можно было даже в 70 х 60 мм уложиться, но я решил оставить как есть, сохранив симметрию, для прототипа, пойдёт. А на основном варианте, всё уже будет по другому и возможно ещё компактнее, просто нужно уточнить тех. нормы доступные при производстве, как например, диаметр переходного отверстия, тут 0,3 мм, но за небольшое удорожание, производство позволяет и 0,1 мм и т. д...
Как это всё примерно выглядит:
Если конечно на мониторе уменьшить до реальных размеров с масштабом 1:1 до рассмотреть сложно, как эту мелочь паять, пока не знаю, но что нибудь придумаю, выглядит забавно:
В общим, движемся потихоньку дальше, скорость улитки не самая огромная, но дорогу осилит идущий, ну или как в моём случае, ползущий...
.
Реализуемая функция: Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22)
По размерам удалось всё же уложиться в 70 х 70 мм (7 х 7 см), можно было даже в 70 х 60 мм уложиться, но я решил оставить как есть, сохранив симметрию, для прототипа, пойдёт. А на основном варианте, всё уже будет по другому и возможно ещё компактнее, просто нужно уточнить тех. нормы доступные при производстве, как например, диаметр переходного отверстия, тут 0,3 мм, но за небольшое удорожание, производство позволяет и 0,1 мм и т. д...
Как это всё примерно выглядит:
Если конечно на мониторе уменьшить до реальных размеров с масштабом 1:1 до рассмотреть сложно, как эту мелочь паять, пока не знаю, но что нибудь придумаю, выглядит забавно:
В общим, движемся потихоньку дальше, скорость улитки не самая огромная, но дорогу осилит идущий, ну или как в моём случае, ползущий...
.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
.
29
Хороший проект, интересный, мне даже понравился, но... Это не то.
https://github.com/rkharris12/fpga_bitcoin_miner
.
https://github.com/rkharris12/fpga_bitcoin_miner
.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Страница 2 из 2 • 1, 2
Похожие темы
» БВС-1. Наработки, но не вошедшие в проект в полном виде.
» Эмуляторы, всякие и разные...
» Разные видео с pro-blockchain.
» Всякие разные разговоры про Dizzy-Age
» Монеты разные, новые и старые...
» Эмуляторы, всякие и разные...
» Разные видео с pro-blockchain.
» Всякие разные разговоры про Dizzy-Age
» Монеты разные, новые и старые...
Страница 2 из 2
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|