Pull to refresh
345
30.3
Юрий Панчул / Yuri Panchul @YuriPanchul

Проектировщик CPU, GPU, сетевых микросхем

Send message

Основы Linux (обзор с практическим уклоном)

Reading time14 min
Views293K

Привет, Хабр!

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

Главная задача данной статьи – указать начинающим специалистам направление развития, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.

Читать далее
Total votes 59: ↑55 and ↓4+68
Comments44

Три архитектуры эльфам, семь гномам, девять людям… где же искать ту, что объединит их все?

Reading time60 min
Views29K

Проводится сеанс разоблачения магии (CISC, RISC, OoO, VLIW, EPIC, ...).
Без традиционной рубрики “а что, если” тоже не обошлось.

Добро пожаловать под кат, правда, лёгкого чтения ожидать не стоит.

Читать далее
Total votes 141: ↑141 and ↓0+141
Comments55

Мини-ПК, на которые стоит обратить внимание: 5 моделей, которые будут полезны как дома, так и в офисе

Reading time3 min
Views33K

Экономия полезного пространства на рабочем столе — важная проблема для многих из нас. Одно из возможных решений — покупка миниатюрного компьютера, который вообще место не занимает. Большинство подобных устройств просто крепятся позади монитора. Но, конечно, миниатюрность — еще не все, хочется, чтобы система еще и нормально работала. В сегодняшней подборке указаны модели, выпущенные недавно, которые действительно могут пригодиться как в домашних условиях, так и на работе.
Читать дальше →
Total votes 48: ↑31 and ↓17+25
Comments118

Разработчик российского RISC-V ядра будет учить школьников и студентов ассемблеру RISC-V в субботу

Reading time5 min
Views8.1K

В субботу 13 ноября с 12.00 по Москве пройдет следующая сессия Сколковской школы синтеза цифровых схем, в режиме онлайн. По плану на ней должны были быть упражнения на FPGA плате с последовательностной логикой. Однако мы решили изменить план и переставить на эту дату занятие по архитектуре RISC-V. Это занятие было изначально запланировано 11 декабря. Занятие по последовательностной логике будет передвинуто на 20 ноября. Почему мы решили так сделать - см. обьяснение через три абзаца.

Занятие по RISC-V проведет проектировщик российского микропроцессорного ядра Никита Поляков из компании Syntacore. В Syntacore Никита перешел из компании МЦСТ где он проектировал процессор Эльбрус. 

Занятие будет состоять из лекции с одновременными упражнениями на симуляторе RARS. RARS моделирует процессор на уровне архитектуры (системы команд, видимых программисту), в отличие от симулятора Icarus Verilog, который мы обсуждали в предыдущей заметке и который моделирует на уровне регистровых передач / микроархитектуры (внутреннего устройства схемы процессора). Разработчику процессора нужно уметь пользоваться симуляторами обеих типов.

У RARS есть три кнопки - запустить, ассемблировать и выполнить шаг. В конце занятия вы будете уметь программировать на ассемблере, даже если раньше этого никогда не делали. В этой заметке мы расскажем, как установить симулятор и запустить простую программу на ассемблере. Потом в следующей заметке я напишу, что такого особенного есть в архитектуре RISC-V и почему мы выбрали для семинара именно ее, а не ARM, x86/64, MIPS, AVR, SPARC,  Эльбрус, Z80, 6502, PDP-11 или еще что-нибудь другое.

Читать далее
Total votes 14: ↑12 and ↓2+14
Comments49

Язык программирования C∀ (CForAll)

Reading time14 min
Views25K

Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совместимость с C. Помимо исправления некоторых недостатков Си (которые можно исправить без нарушения обратной совместимости), в C∀ есть некоторые весьма интересные и оригинальные фичи: некоторые расширения классических управляющих операторов, альтернативный синтаксис объявления квалификаторов, кортежи и множественные операции, оригинальное расширение ссылок, своя реализация полиморфизма, сопрограммы и т.д.

Данная статья представляет собой краткий конспект официального руководства по языку, собранного из нескольких источников, с некоторыми моими комментариями.

Читать далее
Total votes 28: ↑26 and ↓2+34
Comments71

Как развитие алгоритмов сжатия остановилось 20 лет назад, или о новом конкурсе на 200 тысяч евро

Reading time18 min
Views71K

В октябре прошлого года я опубликовал статью «О талантах, деньгах и алгоритмах сжатия данных», где с юмором описал, как «изобретают» новые алгоритмы сжатия люди, не имеющие достаточно навыков для реализации своих идей. А заодно рассказал про существующие конкурсы по новым алгоритмам, в том числе двигавшийся тогда к завершению конкурс алгоритмов сжатия с призовым фондом 50 тысяч евро.

Пост набрал 206 «плюсов», вышел на 2 место топа недели и вызвал оживленную дискуссию, в которой мне больше всего понравился комментарий: «Коммерческого интереса эффективность по сжатию алгоритмов сжатия без потерь сегодня не представляет, в силу отсутствия принципиально более эффективных алгоритмов. Деньги сегодня — в сжатии аудио-видео. И там и алгоритмы другие. Тема сжатия без потерь удобна именно лёгкостью верификации алгоритма, и не слегка устарела. Лет на 20.» 

Поскольку я сам уже 20 лет в области сжатия видео, с ее бурным развитием мне спорить сложно. А вот что сжатие без потерь развиваться перестало… Хотя логика тут понятна каждому. Я до сих пор пользуюсь ZIP, все мои друзья пользуются ZIP с 1989 года — значит, ничего нового не появляется. Так ведь? Похоже рассуждают сторонники плоской земли. ))) Я не видел, знакомые не видели, и даже некоторые авторитеты утверждают, значит, это так! 

О том, как Intel просили меня не прекращать читать курс по сжатию, ибо людей нет новые алгоритмы делать, я в прошлый раз писал. Но тут и Huawei в ту же дуду дует! Вместо того, чтобы раздать призы и должности победителям, а затем успокоиться, поскольку развитие давно встало, эти эксцентричные люди посчитали конкурс крайне успешным и запустили новый с призовым фондом 200 тысяч EUR.

Развивались ли алгоритмы сжатия без потерь в последние 20 лет? Чем закончился прошлый конкурс и на сколько опередили baseline? Сколько денег получили русские таланты, а сколько зарубежные? И есть ли вообще жизнь на Марсе в сжатии без потерь? 

Кому интересно — добро пожаловать под кат! 
Читать дальше →
Total votes 198: ↑197 and ↓1+255
Comments134

nanoFOX — простое RISC-V совместимое ядро

Reading time4 min
Views4.2K

Небольшое вступление:


Идея написания собственного ядра появилась после прохождения школы-семинара по цифровой схемотехнике в городе Томске. На данном мероприятии проводилось знакомство с текущими языками описания аппаратуры (Verilog HDL и VHDL), а также с небольшим процессорным ядром schoolMIPS. Для понимания устройства ядер было принято решение изобрести собственный велосипед, следуя по пути развития schoolMIPS, но взяв за основу другую систему команд. Вследствие роста популярности RISC-V и открытости его системы команд (MIPS на момент начала написания ядра не имел открытую систему команд) для осуществления разработки будущего ядра был выбран набор инструкций RISC-V, а именно RV32I. RV32I имеет небольшой набор базовых инструкций (37 без учёта специальных) и при желании его можно расширить, например, добавив инструкции целочисленного умножения и деления (RV32M) или поддержку сокращённых инструкций (compressed instructions) (RV32C). Также данный проект задумывался как образовательный, поэтому было решено по максимуму увеличить наглядность работы ядра для эффективной демонстрации его работы.


По аналогии с schoolMIPS были реализованы следующие версии ядра:


  1. Однотактная версия (00_simple_risc_v_cpu).
  2. Однотактная версия с поддержкой инструкций lw/sw (load word/store word) (01_simple_risc_v_cpu_lwsw).
  3. Конвейерная версия (5-ти стадийный конвейер) (02_pipe_risc_v_cpu).

На текущий момент описывается следующая версия ядра (03_pipe_risc_v_cpu_fc) с полным набором команд RV32I (без учёта некоторых специальных).

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments15

Про-джуниоры, или полмиллиона «потерянных» разработчиков

Reading time8 min
Views41K

Об исследовании


Введение


В этой статье речь пойдет о про-джуниорахразработчиках, которые уже состоялись в одной из технологий, и выбрали развитие в профессии через смену профильного стека. О том, как про-джуниоры меняют работу, с какими трудностями сталкиваются, и как их воспринимают потенциальные работодатели. Точно определить количества про-джуниоров достаточно трудно, но на основании имеющихся данных, я предполагаю, что в эту категорию попадают от 0.2 до 2% популяции разработчиков.

про числа
Если числовое значение не подкреплено ссылкой на источник, значит оно является средним арифметическим экспертных оценок, полученных от респондентов в ходе интервью

Возможно, по причине относительной малочисленности этой группы специалистов, ни специфика их опыта переобучения, ни особенности трудоустройства и найма, до сих пор не являлись предметом содержательного обсуждения или исследования. Однако, отсутствие явного интереса к про-джуниорам трудней объяснить, как только мы переходим от относительных величин к абсолютным: даже 0.2% от 24 млн — это почти половина от общего количества разработчиков в Чехии, а 2% или 480 тысяч девелоперов — это уже значительно больше количества разработчиков в России.

Полгода назад я начал работать над исследованием в рамках выпускной работы, чтобы понять из чего складывается профессиональный опыт про-джуниоров. Ниже, я бы хотел поделиться основными сюжетными линиями, которые были выделены в ходе серии интервью с про-джуниорами, рекрутерами и HR-ами.
Читать дальше →
Total votes 36: ↑23 and ↓13+23
Comments80

Верификация цифровых схем. Обзор

Reading time9 min
Views18K

image


Я постараюсь в общем рассказать о верификации цифровых схем.


Верификация в данной области — это важный процесс, требующий привлечения опытных инженеров. Например, специалист по верификации, работающий над системами с ЦПУ, как правило должен владеть скриптовыми языками и языками командных оболочек (Tcl, bash, Makefile и т.п.), языками программирования (С, С++, ассемблер), HDL/HDVL (SystemVerilog [10, Appendix C — история языка][11], Verilog, VHDL), современными методологиями и framework’ами (UVM).


Доля времени, затраченного на верификацию, доходит до 70-80% от всего времени проекта. Одна из основных причин такого внимания в том, что к микросхеме нельзя выпустить “патч” после того, как ее отдали в производство, можно только выпустить “silicon errata” (это не касается проектов ПЛИС/FPGA).


Под цифровыми схемами я подразумеваю:


  • сложно-функциональные блоки/intellectual properties (СФБ/IP);
  • специализированные заказные микросхемы/application-specific integrated circuit (ASIC);
  • проекты программируемых логических интегральных схем/field-programmable gate array (ПЛИС/FPGA);
  • системы на кристалле/system-on-crystal (СнК/SoC);
  • и т.п.
Читать дальше →
Total votes 26: ↑25 and ↓1+39
Comments34

Интерфейс JTAG? — Это очень просто

Reading time6 min
Views250K
Многие знакомы со словом «JTAG», но знакомство это скорее всего поверхностное. В этой статье я хочу перевести Вас на новый уровень, так сказать «во френдзону». Возможно, для многих я не открою ничего нового, но надеюсь тем, кто давно хотел ознакомиться, будет интересно почитать. Итак, от винта.
image

Запустить JTAG тестирование
Total votes 90: ↑86 and ↓4+82
Comments17

Школа по основам цифровой схемотехники: Новосибирск — Ок, Красноярск — приготовиться

Reading time8 min
Views5.5K


Со 2 по 5 октября в Новосибирске прошла школа по основам цифровой схемотехники, архитектуры и использования Verilog. Формальное название мероприятия: школа для магистрантов и аспирантов, проходившая в Новосибирском государственном техническом университет в рамках XIV Международной научно-технической конференции «Актуальные проблемы электронного приборостроения» АПЭП-2018, проводимой под эгидой IEEE.


Данное мероприятие было в первую очередь ориентировано на тех, кто:


  • прочитал книгу Цифровая схемотехника и архитектура компьютера, Д.Харрис, С.Харрис (также известная как H&H или Харрис-и-Харрис);
  • хочет применить свои знания на практике, но не понимает, какое оборудование и ПО для этого необходимо и не умеет его использовать;
  • является студентом старших курсов или аспирантом и, как предполагается, будет распространять полученные знания (вести в ВУЗе практикумы, лабораторные работы и т.д.).

Анонс: аналогичная школа запланирована с 6 по 9 ноября на базе Института космических и информационных технологий Сибирского федерального университета (ИКИТ СФУ). Вести школу будут Алина Лесковская — аспирант, инженер-конструктор АО ИСС им.М.Ф.Решетнева, а также ее коллеги: Дмитрий Власов и Борис Дудкин. Контакт для регистрации: leskovskayaav@yandex.ru


Если ваша должность звучит как минимум «Junior FPGA Developer», то с высокой вероятностью вы не узнаете в этом посте ничего для себя нового. Для всех остальных – добро пожаловать под кат.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments4

Полярная ночь, водокачка и умный сейф: 5 студенческих проектов в сфере IoT

Reading time10 min
Views11K
Как может выглядеть студенческий учебный проект в сфере IoT? Чему реально научить студента за год, если раньше с этой тематикой он не сталкивался?

Первый год программы «IoT Академия Samsung» завершился финалом конкурса, проведенного между выпускниками в пилотных вузах (МФТИ и МИРЭА). Каждый из проектов, вышедших в финал, был интересен по-своему, и ниже я предлагаю познакомиться с ними. Это по сути демонстрация диапазона возможных тем, которые можно затронуть, основываясь на знаниях, полученных в нашей программе.


Total votes 30: ↑25 and ↓5+20
Comments92

Серийная ЭВМ “Стрела”

Reading time11 min
Views18K
«Стрела» — советская ЭВМ первого поколения, которая являлась одной из первых отечественных вычислительных машин. Главным конструктором был Юрий Яковлевич Базилевский, а его заместителем — Башир Искандарович Рамаев. ЭВМ «Стрела» принадлежала к классу больших машин, обладающих высокоразвитой и логически законченной структурой. Это обеспечивало большую производительность при решении сложных и громоздких по объему вычислений задач. Кроме того «Стрела» была также первенцем среди машин, выпускаемых промышленностью серийно. Предшествующие ей модели изготавливались в единственных экземплярах.



Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments3

Мои замечания о книге Л.П. Плеханова «Основы самосинхронных электронных схем»

Reading time10 min
Views7.2K
Прежде всего хочу сказать, что за те 10 с лишним лет, что я не занимался асинхронными схемами, в этой сфере произошли определенные изменения. Прежде всего бросается в глаза изменение в терминологии. Значение термина «асинхронные схемы» взял на себя термин «самосинхронные схемы». Именно под этим термином теперь подразумеваются настоящие асинхронные схемы, не зависящие от задержек логических элементов. А термину «асинхронные схемы» досталось обозначение схем, не обладающих этим ценным качеством, ну и вообще всех схем без тактового сигнала. Я решил поподробнее изучить, что такое самосинхронные схемы. Подходящей для этого мне показалась книга, указанная в заглавии. Тем более, что она рекомендуется как учебник, и издана не так давно.


В книге самосинхронные схемы представляются как отдельный класс схем, обладающих уникальными свойствами. А вот определение самосинхронной схемы:

Самосинхронной схемой (СС-схемой) называется схема, обладающая
двумя свойствами безошибочной работы:

  • отсутствием гонок при любых конечных задержках элементов;
  • отказобезопасностью.

Данное определение подразумевает гипотезу о задержках Маллера. Второй пункт есть следствие первого. А первый пункт не что иное, как определение давно устоявшегося термина speed-independent (SI). То есть получается, что самосинхронные схемы это не отдельный класс схем, а схемы, синтезированные определенным методом, который гарантирует свойство SI. Таким образом «самосинхронный» это не характеристика класса схем, а характеристика метода синтеза.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments9

Ответ Л.П. Плеханова на замечания по книге «Основы самосинхронных электронных схем»

Reading time7 min
Views9.6K
Предисловие: Меня зовут Виктор, и я сотрудник Института Проблем Информатики РАН. В нашем отделе ведутся две разработки: рекуррентный процессор и самосинхронная схемотехника. Сам я занят первым, но не смог пройти мимо Мои замечания о книге Л.П. Плеханова «Основы самосинхронных электронных схем», т.к. Л.П. Плеханов работает у нас и данная тематика и «внутренняя кухня» мне близки и знакомы. Я попросил Леонид Петровича подготовить ответ, который с удовольствием сегодня опубликую.

Для справки: У коллектива, в котором работает Плеханов Л.П. довольно много наработок по части самосинхронной схемотехники. Более 20 патентов по самосинхронике, включая международные патенты (США).

Также решения являются не только теоретическими, но и практическими. Например, буквально недавно вышла книга «Библиотека функциональных ячеек для проектирования самосинхронных полузаказных микросхем серий 5503 и 5507». САПР «Ковчег» позволяет проектировать самосинхронные схемы в базисе БМК серий 5503 и 5507.

Кроме того, уже выполнен по технологии 65 нм самосинхронный делитель и блок FMA для процессора КОМДИВ-64. В силу разных обстоятельств данные труды пока не имеют заслуженной на мой взгляд огласки, и посему лично я надеюсь, что этот первый пост нашего отдела ИПИ РАН не будет последним и в ближайшее время мы расскажем публике о самосинхронной схемотехнике подробнее. Ну а пока, передаю слово Леониду Петровичу.

Пошумим!



Вообще-то, если появляется компетентная рецензия, то это благо для автора. Но здесь другой случай.

1. Общее впечатление


Автор замечаний (далее — Рецензент), находясь в плену своих событийных представлений, непоколебимо считает, что и все другие исходят (или должны исходить) из того же.

А с какой стати?

Поэтому Рецензент ничего не понял в книге — ни идеи, ни подхода, ни результатов.
Зато замечания написаны с большой самоуверенностью.
Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments63

EDC-устройство для сисадмина: Linux в кармане

Reading time15 min
Views27K
У каждого админа, пожалуй, был случай, когда что-то внезапно ломается, а ты где-нибудь в дороге: едешь на машине, садишься на поезд или, банально, сидишь где-то на скамейке в парке и срываться и куда-то нестись желания нет ни малейшего. А чинить надо. Или, как минимум, оценить масштабы пришедшего белого пушного зверька.

Понятно, что можно обойтись смартфоном или планшетом, особенно если нужно только зайти по ssh. Но пользоваться в таких случаях тачскрином, как по мне, — это боль и страдания.



Можно приобрести внешнюю клавиатуру, держатель или подставку для планшета, но я считаю, что проще уж тогда носить с собой полноценный ноутбук. Места займет примерно столько же.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments78

Колёсная лира, варган, кахон и музыкальная пила — инструменты, которые не стали мейнстримом

Reading time4 min
Views13K
Совсем недавно мы вспоминали относительно современные музыкальные инструменты, которые не стали мейнстримом. Это происходит по разным причинам — из-за странной конструкции, необычного звучания или и стиля игры.

Терменвокс, омникорд и ханг — очень разные по своей сути изобретения, которые в музыке заняли примерно одну узкую нишу — интересных, но мало распространенных инструментов.

Сегодня мы обратимся к «классике» — вспомним инструменты, которые появились сотни лет назад, но остались нишевыми, либо стали таковыми с течением времени.

Фото Ian Sane CC BY

Колёсная лира


Струнный инструмент, который у разных народов назывался по-разному. Он относится к группе фрикционных — то есть звучание производится с помощью трения.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments32

Процессоры «Байкал» поступают в розничную продажу

Reading time3 min
Views148K


Российские процессоры «Байкал» вскоре можно будет купить в рознице, причем цена на них снижается в четыре раза. Начало продаж запланировано на первый квартал 2018 года, именно тогда в розничных магазинах появятся первые партии отечественных чипов, о чем сообщает Cnews. Процессоры Baikal-T1 будут продавать в составе оценочных плат семейства БФК 3.1 (блок функционального контроля). Их выпускает компания «Байкал электроникс» — разработчик чипов.

Фактически, БФК представляет собой одноплатный компьютер без графической подсистемы. Для визуального отображения информации плату можно без проблем подключить к внешнему монитору, тогда видео станет обрабатываться центральным процессором. Ранее такие платы стоили около 200 тысяч рублей. Сейчас БФК 3.1 упадут в цене до 50 тысяч рублей.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments438

Установка Linux без .ISO и виртуализации

Reading time17 min
Views22K

Установка Linux без .ISO и виртуализации


Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish.


1. Назначение и возможности скриптов radish


Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, поставляемой разработчиками дистрибутива. Это производится либо непосредственно на компьютере, на котором производится установка, либо в какой-либо изолированной среде, например, используя виртуализацию. Описываемые ниже процедуры следуют этим принципам только в самом минимально необходимом виде. При создании образа системы какие-либо установщики сводятся к генератору минимальной системы debootstrap и интерфейсу менеджера пакетов apt (оба поверх менеджера пакетов dpkg), а вместо виртуализации используется chroot.


Установка образа диска на устройство производится минимальным скриптом, который вообще никак не использует установщик или менеджер пакетов, тем не менее создавая конфигурацию, полностью управляемую менеджером пакетов в образе диска — все установленные компоненты, включая загрузчик и ядро, могут обновляться и заменяться теми же действиями менеджера пакетов, которые бы использовались на системе, установленной стандартным установщиком дистрибутива.


Скрипты находятся на сервере Github и доступны по ссылке.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments16

Проверка синтезируемости красивых возможностей SystemVerilog на практике

Reading time6 min
Views11K
В силу проектной обстановки нашей команде пришлось изучить возможности языка SystemVerilog, после чего нет-нет, а возникают жаркие споры о том, какая его часть синтезируема, а какая — нет. Чтобы положить конец домыслам, я провёл небольшую проверку на практике. Во время разработки тестового проекта ряд вопросов удалось снять копаясь в литературе, но всплыл один интересный момент, явного описания которого не нашлось. Чтобы исправить положение, я решил его задокументировать.

Итак. Имеем проект, максимально напичканный всяческими SytemVerilog-овскими штучками. Даже если кажется, что применение той или иной вещи не даёт особого выигрыша — это ошибочное впечатление, ведь главная задача «проекта» — именно изучить возможности SystemVerilog. И вот, у нас есть набор из нескольких модулей (конкретно у меня — это UART-приёмники), данные из которых следует «сливать» в единую шину, перебирая их по алгоритму RoundRobin (конкретно в случае с UART — сливаем накопленные данные в единую очередь, которая с другой стороны будет уходить в шину USB).

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments10

Information

Rating
188-th
Location
Sunnyvale, California, США
Date of birth
Registered
Activity