June 15th, 2015

Учебник «Цифровая схемотехника и архитектура компьютера» на русском

Большой учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера» переведен на русский язык и выложен в бесплатный доступ (подробности и инструкции по правильной регистрации для скачки см ниже в посте Юрия Панчула).

Серия занятий «Как пересечь пропасть от физики к программированию» в части с Верилогом и ПЛИС основана на материалах учебника, а сама содержит мизерную долю того, что представлено в книге (однако, материалы занятий адаптированы для ведения лекций в аудитории, ну и код простой реализации процессора МИПС на Верилоге я полностью переделал для удобства запуска на ПЛИС; с кодом, представленном в учебнике, придется еще повозиться).


Выход учебника в некотором смысле подводит черту под несколькими другими недавними знаковыми, но не всем понятными событиями, связанными с цифровым дизайном, российскими разработчиками в области цифрового дизайна, Верилогом, ПЛИС и МИПС: анонс программы MIPSfpga, в рамках которой исходники промышленного процессора PIC32MZ с архитектурой MIPS станут доступными для университетов, и объявление о выпуске российской компанией Байкал электроникс процессора «Байкал» на базе ядра МИПС. Все три события складываются в единую взаимосвязанную по множеству направлений картинку.

Ядро промышленного процессора PIC32MZ в исходниках на Верилоге из программы MIPSfpga с возможностю запуска на ПЛИС является логическим продолжением материалов из учебник Харрис и Харрис, т.к. в книге рассматривается линейка учебных процессоров МИПС от простого к сложному и промышленное ядро PIC32MZ в этом смысле является апогеем этой цепочки, обеспечивая плавный переход от учебных задач с неизбежными упрощениями к современным коммерческим решениям (и более того, в поздних главах рассматривается процесс программирования именно этих ядер). В то же время учебник Харрис и Харрис является необходимым фундаментом для того, чтобы понимать исходники ядра MIPSfpga и иметь возможность производить с ним осмысленные эксперименты. Другими словами, если вы студент или преподаватель в техническом вузе, вас очень заинтересовала новость о программе MIPSfpga, но вы не представляете, с какой стороны к ней подступиться, без вариантов начинайте с учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера».

История с выпуском процессоров Байкал является наглядным примером того, для чего вам следует читать учебник Харрис и Харрис и принимать участие в программе MIPSfpga. Для выпуска своего процессора Байкал электроникс лицензировала у компании Imagination Technologies (ранее поглотившей МИПС) ядро марки MIPS Warrior P-class как интеллектуальную собственность (intellectual property - IP) в виде исходников на Верилоге. Т.е. в рамках сделки, стоимость которой не разглашается, Байкал Электроникс получила от Imagination Technologies точно такие же исходники коммерческого ядра МИПС, какие студенты и преподаватели могут получить, приняв участие в программе MIPSfpga, абсолютно бесплатно. Конечно, с той разницей, что ядро MIPS Warrior P-class для Байкала относится к другому классу ядер по доступным ресурсам и производительности (PIC32MZ из MIPSfpga является топовым, но в классе микроконтроллеров). Ну и ядра в программе MIPSfpga могут быть использованы только в образовательных целях, для коммерции очевидно придется заплатить. Другими словами, если вы студент и в будущем хотите устроиться работать в Байкал электроникс улучшать новые процессоры их марки, или если вы хотите разработать дополнительный модуль для процессора Байкал и лицензировать его компании Байкал электроникс в виде блока интеллектульной собственности (IP), но не знаете, что вам нужно для этого изучать, начните изучение учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера» и примите участие в программе MIPSfpga.

И, бонусом, любопытная подборка попсеющих трендов в области  искусственного интеллекта у Анатолия Левенчука ailev, по теме абзац оттуда (FPGA==ПЛИС):

Нейроморфные архитектуры тем самым становятся из перспективных-для-учёных попсово-перспективными. GPU признаются как временное дешёвое неудобное малоэффективное решение, начинаются эксперименты с FPGA (http://cadlab.cs.ucla.edu/~cong/slides/fpga2015_chen.pdf) и появляются первые ориентиры для достигаемой плотности вычислений (гигаопераций в секунду на FPGA slice -- рекорд сейчас вполне сравним с достигаемым на GPU ускорением, примерно в 17 раз). Как только эти ориентиры будут сформированы, произойдёт что-то типа "гонки гигагерц" и "гонки мегапикселей". С этим направлением сильно пересекается понимание, что глубокие архитектуры не требуют большой разрядности (работ на эту тему пока мало, но они уже появляются: http://petewarden.com/2015/05/23/why-are-eight-bits-enough-for-deep-neural-networks/).

Другими словами, если вы инженер или ученый, ведущий деятельность в области искусственного интеллекта, и у вас есть желание на несколько порядков ускорить ваши алгоритмы ИИ аппаратно на ПЛИС, но не знаете, с какой стороны подступиться к ПЛИС и Верилогу, начните с изучения учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера».

Collapse )