Pull to refresh
11
0
Роман @rvvernin

FPGA/ASIC разработчик

Send message

Числа и байты: как работает память в Linux?

Level of difficultyHard
Reading time27 min
Views16K
image

Часть первая: физическая память


При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Total votes 31: ↑31 and ↓0+35
Comments18

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog

Level of difficultyHard
Reading time4 min
Views4.7K

На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнение операций алгоритма. В данной статье я хочу затронуть аппаратную реализацию на языке System Verilog, уделить внимание распараллеливанию вычислений и описанию интерфейсов модулей. Для начала кратко рассмотрим теорию.

Читать далее
Total votes 29: ↑28 and ↓1+38
Comments20

Из FPGA-дизайнера в ASIC: четыре личных истории и анонс курса переподготовки от YADRO Microprocessors

Reading time8 min
Views6.4K

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

В то же время в отрасли немало специалистов с практическим багажом, которые уже решают прикладные задачи проектирования цифровой логики, но в смежных с разработкой ASIC областях — например, FPGA инженеры. Мы заметили, что у нас в компании нередким стал кейс, когда в команду приходят специалисты с опытом в FPGA-разработке, довольно быстро включаются в задачи проектирования ASIC и потом целиком уходят в эту смежную область, ведь маршруты проектирования и инструменты похожи.

Мы решили систематизировать этот опыт и превратить его во внутренний курс переподготовки из FPGA-дизайнеров в ASIC. Если вы тоже задумывались о том, чтобы начать проектировать IP-блоки для ASIC, прочитайте эту статью. Мы поговорили с нашими инженерами, которые самостоятельно прошли путь от цифрового синтеза под FPGA к проектированию ASIC о том, какие знания и опыт для этого нужны, и в чем разница в построении процессов и устройстве работы команд. И, кажется, нашли много плюсов перехода в эту смежную область. 

Читать далее
Total votes 19: ↑16 and ↓3+16
Comments27

Кто на новенького: как справиться со стрессом и избежать провалов при адаптации в новой компании и команде

Reading time13 min
Views6.6K

Привет, Хабр! Я Оксана Нечитайлова, руковожу отделом сервисного дизайна в YADRO. В разработке продуктов я уже более 16 лет и за свою карьеру сменила несколько компаний, сфер бизнеса и рабочих ролей. В общем, не раз «обнулялась» и проходила периоды адаптации в новой команде или направлениях, где много неизвестного. С этим опытом (на собственных шишках) я стала замечать, какие ошибки на старте работы в компании и в новой роли мы обычно совершаем. Интересно, что в обсуждении этого вопроса с коллегами-тимлидами мы обнаружили, что они делали те же самые ошибки и вели себя похожим образом. Есть общий паттерн поведения, характерный для многих и на который можно повлиять.  

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

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

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

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками

Level of difficultyEasy
Reading time14 min
Views2.5K

В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество нюансов. Например, не всегда понятно как автоматизировать процессы, которые обычно делают люди, — банальную перезагрузку устройства в другом городе. Или другая особенность — целевые аппаратные ресурсы масштабируются не так хорошо, как софт, поэтому приходится придумывать свои подходы к распределению времени доступа к стенду для СI-конвейеров и инженеров.

Меня зовут Игорь Большевиков, я инженер по системному программированию систем на кристалле в YADRO В статье я расскажу о нашем опыте автоматизации процессов, связанных с разработкой на FPGA-стенде: удаленной загрузке плат, бронировании аппаратных ресурсов и решении вопросов по координации для распределенной команды. Я опишу ключевые этапы задачи без лишних технических деталей. Возможно, статья будет полезна тем, кто занимается или кому предстоит заняться автоматизацией работ с FPGA.

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

Материалы для разработчиков систем на кристалле: функциональная верификация, итеративная сборка, свой ПЛИС-кластер

Level of difficultyEasy
Reading time3 min
Views1.5K

Привет, Хабр! Принесли материалы с недавнего митапа для FPGA/ASIC/RTL-инженеров — добавляйте в закладки, чтобы посмотреть в свободное время. В докладах вас ждут:

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

Обзор плюсов и минусов существующих систем для автоматизации тестирования на FPGA-стендах.

Способ оценки производительности коммерческого ПЛИС-кластера и собственного решения.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

FPGA/ASIC