Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Бывший вице-президент Sun, MIPS и DEC прокомметировал покупку компании ARM компанией NVidia

Высокая производительностьFPGAПрограммирование микроконтроллеровКонференцииИскусственный интеллект
Объединенным усилиями русских в Silicon Valley, россиян и украинцев провели первые два дня Школы синтеза цифровых схем на ChipEXPO в Сколково.

В качестве одного из докладчиков выступил один из самых известных бизнесменов в мире микропроцессоров — Арт Свифт. Арт был президентом и вице президентом компаний, которые делали практически все известные высокопроизводительные архитектуры. Он был президентом Transmeta (процессор совместимый с x86, был в ноутах от Toshiba), вице-президентом MIPS, Sun Microsystems и Digital Equipment (технический маркетинг Alpha и StrongARM). Сейчас Арт Свифт -президент Esperanto Technologies, компании, которая строит многоядерные кластеры на основе архитектуры RISC-V, оптимизированные для вычислений искуственного интеллекта.

Арт поприветствовал участников ChipEXPO и прокомметировал покупку компании ARM компанией NVidia — трансляция

Расшифровки видео (с 5:00) нет, так как оно было сделано в последнюю минуту. Нужны добровольцы для расшифровки!



Больше речей, демонстраций и практики по синтезу процессоров на FPGA платах будет сегодня в 15.00:
Читать дальше →
Всего голосов 29: ↑1 и ↓28 -27
Просмотры4.7K
Комментарии 17

Компания T-Head собрала порт Android 10 для процессоров архитектуры RISC-V

ITSummaРазработка под AndroidПроизводство и разработка электроникиПроцессорыИнтернет вещей

Китайская компания T-Head, входящая в состав Alibaba Group, представила результаты своей работы по портированию свободной версии Android на платы архитектуры RISC-V. Команда проекта успешно запустила порт AOSP (Android Open Source Project) на плате ICE EVB.

Сама плата оснащена тремя ядрами XuanTie C910 1,2 GHz (RISC-V 64) и ядром XuanTie C910V для векторных вычислений и GPU с поддержкой аппаратного ускорения и декодирования HEVC, AVC и JPEG.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры3.1K
Комментарии 0

HiSilicon представила первый одноплатник на RISC-V

ПроцессорыИнтернет вещейIT-компании

Компания Huawei HiSilicon выпустила свою первую плату на архитектуре RISC-V с открытым исходным кодом. На ее основе будут разрабатываться устройства Интернета вещей.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры2.8K
Комментарии 5

Пришло время для открытых и свободных процессоров?

GlobalSignИнформационная безопасностьOpen sourceРазработка под Linux
Перевод
Раскрытие уязвимостей Meltdown и Spectre снова привлекло внимание к багам на аппаратном уровне. Многое сделано для улучшения (всё ещё слабой) безопасности нашего программного обеспечения, но всё напрасно, если оборудование даёт сбой. Процессоры в наших системах по-прежнему, в основном, проприетарные и уже преподнесли ряд неприятных сюрпризов (например, в движке Intel Management Engine). Поэтому встаёт естественный вопрос о переходе на железо open-source, как мы сделали с нашим программным обеспечением. Такой переход вполне возможен и даёт ряд преимуществ, хотя и не является панацеей.

Учитывая сложность современных процессоров и свирепый рынок, где они продаются, их разработка по принципам open-source может показаться необычной идеей. Но в этой области уже есть серьёзные инициативы; так что идея свободного дизайна CPU — не просто фантазия. Небольшое исследование темы выявляет несколько проектов; хотя дальнейший список явно не полон.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Просмотры15.6K
Комментарии 44

Генерация и тестирование ядра RISC-V

Open sourceТестирование IT-системFPGA
Перевод
Как я писал в прошлом посте, название моего проекта на GSoC-2016 — «порт RISC-V на Parallella», и первая вещь, которую я должен был сделать, это познакомиться с экосистемой RISC-V. Один из лучших способов это сделать, — посмотреть видео с презентации первого воркшопа RISC-V на Youtube. Для того, чтобы понять самые важные концепции, я рекомендую следующие презентации:


Ещё одна ссылка, если вы интересуетесь Chisel, языком, основанным на Scala, который используется для описания текущей аппаратной реализации ядра RISC-V (ядро Rocket имеет in-order конвейер, BOOM — out-of-order), и любых будущих реализаций.

Краткое руководство по Chisel (Jonathan Bachrach) видео слайды

Работа с Rocket Chip, добавление расширений, инфраструктура ASIC и FPGA (Colin Schmidt) видео слайды

Если вы глубоко заинтересованы в RISC-V и развитии сообщества, я предлагаю вам принять участие в воркшопах.


Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры8.5K
Комментарии 24

Проект Keystone: доверенная среда для запуска приложений на базе RISC-V

CloudMTSИнформационная безопасностьOpen sourceСистемное администрированиеIT-инфраструктура
Команда исследователей из MIT и Калифорнийского университета в Беркли при поддержке Facebook, Google, Microsoft и других ИТ-гигантов представила проект Keystone. Это open source компонент, позволяющий организовать доверенную среду для запуска программ (trusted execution environment, TEE) на базе архитектуры RISC-V.

Далее — о том, зачем понадобилось решение и как оно устроено.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры3.1K
Комментарии 0

Перенос Alpine Linux на RISC-V

Настройка LinuxOpen sourceКомпьютерное железоПроцессоры
Перевод
После нескольких мучительных месяцев ожидания недавно я получил свой HiFive Unleashed, и это невероятно круто. Для тех, кто не в курсе, HiFive Unleashed — это первый одноплатник на RISC-V с поддержкой Linux, ориентированный на потребителя. Если ещё не понятно, RISC-V — это открытая, свободная архитектура набора команд, а HiFive — открытый процессор, реализующий её. И вот он на моём обеденном столе:


Плата реально классная. В течение ближайших месяцев постараюсь подготовить всё необходимое для сервиса непрерывной интеграции builds.sr.ht, через который будет автоматизирована оставшаяся часть переноса Alpine Linux, а также установка любых других операционных систем (в том числе не-Linux) и пользовательских программ, которые вы захотите портировать на RISC-V. Я вполне уверен, что это будет первый подобный проект на оборудовании RISC-V, открытый для публики.
Читать дальше →
Всего голосов 55: ↑55 и ↓0 +55
Просмотры13.1K
Комментарии 19

Linux Foundation займется open source чипами

CloudMTSOpen sourceIT-инфраструктураПроцессоры
Linux Foundation открыли новое направление — CHIPS Alliance. В рамках этого проекта организация будет развивать свободную систему команд RISC-V и технологии для создания процессоров на её основе. Расскажем подробнее, что происходит в этой сфере.

Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры10.1K
Комментарии 7

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

ПрограммированиеFPGA

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


Идея написания собственного ядра появилась после прохождения школы-семинара по цифровой схемотехнике в городе Томске. На данном мероприятии проводилось знакомство с текущими языками описания аппаратуры (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 (без учёта некоторых специальных).

Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры3.3K
Комментарии 15

RISC-V с нуля

Open sourceAssemblerОтладкаПроцессоры
Перевод
В этой статье мы исследуем различные низкоуровневые концепции (компиляция и компоновка, примитивные среды выполнения, ассемблер и многое другое) через призму архитектуры RISC-V и её экосистемы. Я сам веб-разработчик, на работе ничем таким не занимаюсь, но мне это очень интересно, отсюда и родилась статья! Присоединяйтесь ко мне в этом беспорядочном путешествии в глубины низкоуровневого хаоса.

Сначала немного обсудим RISC-V и важность этой архитектуры, настроим цепочку инструментов RISC-V и запустим простую программу C на эмулированном оборудовании RISC-V.
Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Просмотры25.2K
Комментарии 20

Часть 1: RISC-V / RocketChip в неестественной среде обитания

Open sourceAssemblerScalaFPGADIY или Сделай сам
Конфигурирование RocketChip

Недавно на Хабре публиковалась статья о том, как поэкспериментировать с архитектурой RISC-V без затрат на «железо». А что, если сделать подобное на отладочной плате? Помните мемы про генератор игр: штук 20 галочек в стиле «Графика не хуже Кризиса», «Можно грабить корованы» и кнопка «Сгенерировать». Приблизительно так же устроен генератор SoC-ов RocketChip, только там не окно с галочками, а Scala-код и немного ассемблера и Make-файлов. В этой статье я покажу, как просто портировать этот RocketChip с родного для него Xilinx на Altera/Intel.

Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры6.9K
Комментарии 0

Часть 2: RocketChip: подключаем оперативную память

Open sourceAssemblerScalaFPGADIY или Сделай сам
Tutorial

В предыдущей части мы собрали микроконтроллер вообще без оперативной памяти на базе ПЛИС Altera/Intel. Однако на плате есть разъём с установленным SO-DIMM DDR2 1Gb, который, очевидно, хочется использовать. Для этого нам потребуется обернуть DDR2-контроллер с интерфейсом ALTMEMPHY в модуль, понятный для протокола работы с памятью TileLink, используемого повсюду в RocketChip. Под катом — тактильная отладка, брутфорс программирование и ГРАБЛИ.


Как известно, в Computer Science есть две главные проблемы: инвалидация кешей и именование переменных. На КДПВ вы видите редкий момент — две главные проблемы CS встретили друг друга и что-то замышляют.

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры5.7K
Комментарии 2

Как разрабатываются и производятся процессоры: основы архитектуры компьютеров

Производство и разработка электроникиКомпьютерное железоНаучно-популярноеПроцессорыЭлектроника для начинающих
Перевод
image

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

В этой серии мы расскажем о компьютерной архитектуре, проектировании процессорных плат, VLSI (very-large-scale integration), производстве чипов и тенденциях будущего в области вычислительной техники. Если вам было интересно разобраться в подробностях работы процессоров, то начинать изучение лучше с этой серии статей.

Мы начнём с очень высокоуровневого объяснения того, чем занимается процессор и как строительные блоки соединяются в функционирующую конструкцию. В том числе мы рассмотрим процессорные ядра, иерархию памяти, предсказание ветвлений и другое. Во-первых, нам нужно дать простое определение тому, что делает ЦП. Простейшее объяснение: процессор следует набору инструкций для выполнения определённой операции над множеством входящих данных. Например, это может быть считывание значения из памяти, затем прибавление его к другому значению, и наконец сохранение результата в память по другому адресу. Это может быть и нечто более сложное, например, деление двух чисел, если результат предыдущего вычисления больше нуля.

Программы, например, операционная система или игра, сами по себе являются последовательностями инструкций, которые должен выполнять ЦП. Эти инструкции загружаются из памяти и в простом процессоре выполняются одна за другой, пока программа не завершится. Разработчики программного обеспечения пишут программы на высокоуровневых языках, например, на C++ или на Python, но процессор не может их понимать. Он понимает только единицы и нули, поэтому нам нужно каким-то образом представить код в этом формате.
Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Просмотры45.3K
Комментарии 18

Часть 3: Почти что грузим Linux с SD-карты на RocketChip

Open sourceСистемное программированиеОтладкаFPGADIY или Сделай сам

В предыдущей части был реализован более-менее работающий контроллер памяти, а точнее — обёртка над IP Core из Quartus, являющаяся переходником на TileLink. Сегодня же в рубрике «Портируем RocketChip на малоизвестную китайскую плату с Циклоном» вы увидите работающую консоль. Процесс несколько затянулся: я уже было думал, что сейчас по-быстрому запущу Linux, и пойдём дальше, но не тут то было. В этой части предлагаю посмотреть на процесс запуска U-Boot, BBL, и робкие попытки Linux kernel инициализироваться. Но консоль есть — U-Boot-овская, и довольно-таки продвинутая, имеющая многое из того, что вы ожидаете от полноценной консоли.


В аппаратной части добавится SD-карта, подключённая по интерфейсу SPI, а также UART. В программной части BootROM будет заменён с xip на sdboot и, собственно, добавлены следующие стадии загрузки (на SD-карте).

Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры5.8K
Комментарии 12

Часть 4: Всё-таки запускаем Linux на RocketChip RISC-V

Настройка LinuxOpen sourceОтладкаFPGADIY или Сделай сам
Tutorial

На картинке Linux kernel шлёт вам привет через GPIO.


В этой части истории с портированием RISC-V RocketChip на китайскую плату с Cyclone IV мы всё-таки запустим Linux, а также научимся сами конфигурировать IP Core контроллера памяти и чуть подредактируем dts-описание аппаратуры. Эта статья является продолжением третьей части, но, в отличие от изрядно разросшейся предыдущей, она будет довольно короткой.

Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры7.5K
Комментарии 3

Часть 5/2 корп. 1: Перекрёсток проспекта RocketChip и скользкой дорожки инструментации

Ненормальное программированиеOpen sourceScalaCFPGA

В предыдущих четырёх частях велась подготовка к экспериментам с RISC-V ядром RocketChip, а именно, портирование этого ядра на «нестандартную» для него плату с ПЛИС фирмы Altera (теперь уже Intel). Наконец, в прошлой части на этой плате получилось запустить Linux. Знаете, что меня во всём этом забавляло? То, что одновременно приходилось работать с ассемблером RISC-V, C и Scala, и из всех них Scala была самым низкоуровневым языком (потому что именно на ней написан процессор).


Давайте в этой статье сделаем так, чтобы C тоже не было обидно. Более того, если связка Scala+Chisel использовалась лишь как domain-specific language для явного описания аппаратуры, то сегодня мы научимся «затягивать» простенькие функции на C в процессор в виде инструкций.


Конечная же цель — тривиальная реализация тривиальных AFL-like инструментаций по аналогии с QInst, а реализация отдельностоящих инструкций — лишь побочный продукт.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры1.2K
Комментарии 0

Недостатки RISC-V

AssemblerПроцессоры
Перевод
Изначально я написала этот документ несколько лет назад, будучи инженером по проверке ядра исполнения команд (execution core verification engineer) в ARM. Конечно, на моё мнение повлияла углублённая работа с исполнительными ядрами разных процессоров. Так что делайте на это скидку, пожалуйста: может, я слишком категорична.

Однако я по-прежнему считаю, что создатели RISC-V могли справиться гораздо лучше. С другой стороны, если бы я сегодня проектировала 32-или 64-разрядный процессор, то, вероятно, реализовала бы именно такую архитектуру, чтобы воспользоваться существующим инструментарием.

Статья изначально описывала набор команд RISC-V 2.0. Для версии 2.2 в ней сделаны некоторые обновления.
Читать дальше →
Всего голосов 42: ↑39 и ↓3 +36
Просмотры22.3K
Комментарии 53

Как я пришел к формальной спецификации RISC-V процессора на F#

Анализ и проектирование систем.NETФункциональное программированиеF#Процессоры

Томными зимними вечерами, когда солнце лениво пробегало сквозь пелену дней — я нашел в себе силы заняться реализацией давней мечты: разобраться как же устроены процессоры. Эта мечта привела меня к написанию формальной спецификации RISC-V процессора. Проект на Github


image

Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Просмотры6.2K
Комментарии 10

Опенсорсный чип OpenTitan заменит проприетарные корни доверия Intel и ARM

Дата-центр «Миран»Информационная безопасностьКриптографияСерверное администрированиеПроцессоры


Некоммерческая организация lowRISC при участии Google и других спонсоров 5 ноября 2019 года представила проект OpenTitan, который называет «первым опенсорсным проектом по созданию открытой, качественной архитектуры микросхем с корнем доверия (RoT) на аппаратном уровне».

OpenTitan на архитектуре RISC-V — микросхема специального назначения для установки на серверах в дата-центрах и в любом другом оборудовании, где нужно обеспечить аутентичность загрузки, защитить прошивку от изменений и исключить вероятность руткитов: это материнские платы, сетевые карты, маршрутизаторы, устройства IoT, мобильные гаджеты и др.

Конечно, подобные модули есть в современных процессорах. Например, аппаратный модуль Intel Boot Guard является корнем доверия в процессорах Intel. Он по цепочке доверия верифицирует подлинность UEFI BIOS перед загрузкой ОС. Но вопрос, насколько мы можем доверять проприетарным корням доверия с учётом того, что у нас нет гарантий отсутствия багов в дизайне, а проверить его нет возможности? См. статью «Доверенная загрузка Шрёдингера. Intel Boot Guard» с описанием того, «как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику использовать эту технологию для создания в системе неудаляемого (даже программатором) скрытого руткита».
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Просмотры11.8K
Комментарии 10

Часть 6: Портирование MemTest86+ на RISC-V

Ненормальное программированиеOpen sourceAssemblerCКомпьютерное железо

Наверное, мало какому айтишнику нужно объяснять, что такое Memtest86+ — пожалуй, он уже стал более-менее стандартом в тестировании оперативной памяти на ПК. Когда в одной из предыдущих частей я наткнулся на битую планку памяти, пришедшую в комплекте с платой, он (вместе с поддерживающим DDR2 нетбуком) казался очевидным решением. Другой вопрос, что там в принципе нестабильная работа системы была видна невооружённым глазом. В более хитрых случаях, слышал, что кроме банального «простукивания» ячеек памяти до бесконечности, этот инструмент использует некоторые специальные паттерны данных, на которых ошибки в работе DDR выявляются с большей вероятностью. В общем чудесная вещь, жаль, что даже в названии указано: 86 — «Только для x86-совместимых систем». Или нет?


Под катом вы увидите мои попытки портировать MemTest86+ v5.1 на RISC-V и промежуточный итог. Спойлер: оно шевелится!

Читать дальше →
Всего голосов 52: ↑52 и ↓0 +52
Просмотры6.8K
Комментарии 26
1