увлекаюсь проектированием кастомных цпу. Начинал с игры тьюринг комплит, на данный момент перешёл на верилог и проектирую под Tang Nano 9k. Так как всё это время мне не с кем было поделиться или обсудить то, что я делаю, я ищу единомышленников. мой дискорд: vihuhol42_05347
>>3782434 (OP) Кстати видал я книжку англоязычную про это. Конечно по ней AMD Ryzen 9 не спроектируешь, но хоть что-то. А ещё вроде бы архитектура ARM процессоров открыта и документация и книжки имеются, разрабатывай сколько хочешь, под ARM процессорами смартфоны работают и вообще Андроиды всякие.
>>3782434 (OP) а у меня в электронной читалке книжек которой я каждые божьи сутки пользуюсь, какой то Линукс или Юникс и процессор вообще RockChip RK2818 на архитектуре ARM, и кстати это востребовано, людей у нас только на этой планете земле 8,32+ миллиарда людей, и российцы ещё размножаются, рынок сбыта этих книжечек охуительно ётунски как Фёдор Андреевич Махнов огромный.
>>3782434 (OP) Я слыхал миф что в процессорах Интела и АМД имеются ошибки. Ассемблерная команда mov eax, ebx — должна переместить значение из регистра EBX в регистр EAX, а на самом деле она только копирует, а не перемещает. Проверьте на работе.
>>3782434 (OP) Возможно вам будет полезна книжка: Modern Processor Design: Fundamentals of Superscalar Processors John Paul Shen, Mikko H. Lipasti Waveland Press 2013 год. Старенькая, но хоть что-то. Она понятное дело по-английски написана, ну что поделать, в информационных технологиях английский язык это стандарт. Кстати я мог бы её целиком перевести на русский, но как бы мотивация нужна, труда много, а вознаграждение? бесплатно только птички поют, как говорил славный русский певец Фёдор Шаляпин
>>3782434 (OP) хорошее дело-business, например пульты для звукорежиссуры и пульты для театрального и телевизионного и киношного освещения тоже процессоры требуют. Да нынче даже прожектора типа крутящиеся головы тоже с процессорами. Только с китайцами соперничать тяжело, ведь их коммунистическая партия заставляет демпинговать.
>>3782628 довольно продвинутая книга, мне пока рано за неё браться. В планах после того как доделаю свой процессор, подтянуть теорию с помощью учебника по схемотехнике от Харриса. Думаю, потом можно будет собрать что-то ещё и уже тогда переходить к книге, которую ты посоветовал. А английский у меня неплохой, читаю довольно бегло.
>>3782434 (OP) >>3782665 Книгу Харисов уже прочитал? На курсере был курсик Computer Architecture от Princeton University. Рекомендую книги : - Computer Architecture: A Quantitative Approach by John L. Hennessy and David A. Patterson (переводную на русский книгу не рекомендую) - Шень Лапасти уже называли - Digital Arithmetic by Miloš D. Ercegovac and Tomás Lang
>>3782702 Книгу Харисов ещё не читал. А насчёт архитектуры вот то, что я писал для себя до того, как начать её реализовывать. Там написано всё, что уже готово. Сейчас работаю над системой прерываний.
32REGS | 32BIT[DATA, MATH] | 32BIT[ISA] | 12BIT[ADDRESSATION] | ADDRESSATION BY WORDS ISA FORMAT [0OOOOOUUUSSSSSSCCCCCBBBBBAAAAAII]
I - IMM SELECTOR {00 - NO IMM ; 01 - B IMM ; 10 - A IMM ; 11 - UNDEFINED} A - ARG A B - ARG B C - ARG C (LIKE X86 OP FORMAT WHEN IMM MODE ACTIVE) U - EXECUTE UNIT O - OPCODE S - SUPER (MANY FUNCTIONAL / IMMEDIATE EXTENSION)
UNIT №000 { Name=ALU input (ARG A[U32], ARG B[U32], OPCODE[U5], ENABLE[bit]) out (Result[U32], NewFlags[U5], writeback enable[bit])
OP(00000) - ADD OP(00001) - SUB OP(00010) - MUL OP(00101) - AND OP(00110) - OR OP(00111) - XOR OP(01000) - LOGIC SHIFT LEFT OP(01001) - LOGIC SHIFT RIGHT OP(01010) - CMP }
# ADDRESS DEFAULT GET FROM ARG A UNIT №001 { Name=COND input (FLAGS[U5], OPCODE[U5], ADDRESS[U12]) out (Jmp_En[bit])
# STACK_PTR INITS TO 12'hFFF UNIT №010 { Name=MAU input (OPCODE[U5], ARG A[U32], ARG B[U32], CLK[bit], RST[bit]) out (Mem_Out[U32], Mau_Data[U32], Mau_Addr[U12], Rw[bit])
OP(00000) - LOAD OP(00001) - STORE OP(00010) - PUSH OP(00011) - POP }
#EXEMPLE IMMEDIATE MODE WITH I=01 FINAL ARG A - AAAAA (REG FROM INSTRUCTION) FINAL ARG B - IMM CONSTANT FROM {SUPER, ARG C, ARG B} (16-BIT CONCATENATION) FINAL ARG C - ARG A (DESTINATION REG SHIFTS IN TOP MODULE LIKE X86 FORMAT)
#FLAGS IN MY CPU [zf, sf, eq, sb, ub] zf - zero flag (computed from result == 0) sf - sign flag (computed from result[31]) # all next flags computes in cmp in alu zf and sf flags fills zero when alu makes cmp eq - a == b sb - a signed below b ub - a unsigned below b
# CONTROL UNIT Stage 0: Initialization. Automatically advances to Stage 1.
Stage 1: Execution. Checks the execution unit type: ALU: Saves arithmetic flags and returns to Stage 0. COND: Returns to Stage 0 immediately. MAU: Checks read/write command. If READ, goes to Stage 2. If WRITE, returns to Stage 0.
* Stage 2: Memory Read Finish. Returns to Stage 0.
>>3782721 Что за нейрослоуп? Вообще ты бы просто реализовал бы рискфаве-32 базовую целочисленную архитектуру, и погонял бы потом их тесты. Проц у тебя на фпга уже залит?
>>3782750 > мне по кайфу делать свою архитектуру, как то так. индейцы народа Майя тоже так говорили когда двадцатеричную систему счисления стругали из бревна.
>>3782434 (OP) Пробовал ли на Tang Nano 9k TPU делоть? Пробовал ли LLM на FPGA запускать? Такое вот интересует, но никогда с FPGA не работал, на сколько макетки дорогие?
>>3783484 лмм на танг нано 9к не встанет ну прям вообще никак, максимум, что на ней можно реализовать в плане ии это думаю нейронку которая распознает рукописные цифры и то с трудом. Стоит моя плата пару тысяч рублей, но если ты хочешь попробовать запускать что-то серьёзное, то придется раскошелиться гораздо больше.
>>3783775 >лмм на танг нано 9к не встанет ну прям вообще никак Ну тоесть на ESP32 запускают, а на этой шляпе нет? >раскошелиться гораздо больше Тогда не нужно
>>3783816 ну ты сравнил, конечно, вещи абсолютно разные, еспшка готовая зацементированная на чипе система, в которой каждый элемент стоит впритык друг к другу, чтобы сигналы проходили с минимальными задержками, а фпга программируемая матрица логических таблиц. Она физически не может быть такой же производительной на одно вычислительное ядро, как есп. Её главные преимущества не скорость и грубая вычислительная мощность, а свобода творчества, когда схема, которую ты спроектировал, оживает в настоящем железе, а не в эмуляторе и параллельные вычисления, как пример обработка множественных высокочастотных сигналов.