LINUX.ORG.RU

lowRISC выпустил первый предварительный релиз

 ,


3

5

lowRISC, проект создания свободной (лицензия BSD) 64-бит System-on-Chip на архитектуре RISC-V, объявил о выходе первого предварительного выпуска. Для загрузки доступны:

  • компилятор HDL Chisel;
  • доработанный исходный код Rocket (генератора SoC, используемого в lowRISC);
  • исходные коды стандарта FPU IEEE-754-2008 и подсистемы памяти;
  • симуляторы;
  • кросс-компиляторы.

Для использования всего этого богатства на FPGA нужен Xilinx Vivado 2014.4.

В используемый 64-битный вариант RISC-V ISA разработчиками lowRISC добавлена поддержка тегированной памяти (tagged memory); в собственно SoC добавлена реализация концепции вспомогательных ядер (minion cores). Описание добавленных возможностей доступно здесь (ветеранам ЕС ЭВМ радоваться — канальные процессоры снова с нами).

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: INFOMAN (всего исправлений: 4)

Ответ на: комментарий от tailgunner

lowRISC - тип доступа (rw).

И непонятно, что лучше. Это дает гарантированный оверхед для всяких malloc/free/memmove и прочей сборки мусора. Надо считать потери. Я так и не понял, к них теги к каждому слову «прилеплены» или на страницу слов выделяется битовая карта тегов? В статье что-то говорится про «кэш тегов», но это — про перформанс, а не про архитектуру.

gns ★★★★★
()

Не понял, risc-v в отличие от openrisc это что, только описание интерфейса? Никаких исходников на верилоге, тип пускай реализуют сами как хотят производители?

Freyr69 ★★★
()
Ответ на: комментарий от true_admin

Ох и дорогой же он...

$2995

$4795

ЛОР почитать, тут люди за неделю больше зарабатывают.

buddhist ★★★★★
()
Ответ на: комментарий от Freyr69

Нет, Карл Макрс и Фридрих Энгельс — это четыре разных человека. Исходники есть. Скоро тейпаут обещают.

gns ★★★★★
()
Ответ на: комментарий от true_admin

Ох и дорогой же он...

Чай не Эльбрус, осилим как нибудь с квартальной премии :)

gns ★★★★★
()
Ответ на: комментарий от Freyr69

Исходники на Chisel. Глаза раскрой.

anonymous
()
Ответ на: комментарий от tailgunner

угу, она уже была в Алголе-60

anonymous
()
Ответ на: комментарий от Freyr69

lowRISC - тип доступа (rw).

И непонятно, что лучше.

У тегов на доступ есть четкие юзкейсы в обычных Си/Си++ программах, позволяющие инкрементальное внедрение. Сомневаюсь, что это возможно с тегами типов.

Это дает гарантированный оверхед для всяких malloc/free/memmove и прочей сборки мусора.

Ы? Если что, теги можно тупо не использовать. Откуда оверхед для malloc?

Я так и не понял, к них теги к каждому слову «прилеплены» или на страницу слов выделяется битовая карта тегов

На всю физическую память единая карта в зарезервированной области, насколько я понял.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от alman

В чем ты видишь движение в сторону микроядра, тем более - аппаратного?

Провожу аналогии с тем, над чем работаю сам

А... тогда конечно.

«Тупые» устройства нужно опрашивать, чуть более умные генерируют прерывания, но как быть если устройство само по себе «интеллектуальное»?

Я твёрдо убеждён, что идеальным вариантом является взаимодействие через синхронные сообщения.

Прерывание - это посылка сообщения. И нет никаких проблем обработать его синхронно.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от one_more_hokum

На каждую вытесняему страницу нужно будет записать куда-то несколько сот байтов тегов. Куда их писать? Не думаю, что линуксовый MM на это рассчитан.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от one_more_hokum

Атрибуты страниц - это права доступа к ним? Насколько я знаю, они хранятся в таблицах страниц. Уже не помню, как сделано в современном Linux, но раньше таблицы страниц просто не вытеснялись. В любом случае, на атрибуты страниц MM был рассчитан изначально, а на теги (атрибуты слов, фактически) - нет.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Отвечал ты явно на мой комментарий...

Ы? Если что, теги можно тупо не использовать. Откуда оверхед для malloc?

Если теги проставляются в момент исполнения самой программой (а для фрейма вызова процедуры это так), то как решить программе, что делать с памятью в куче? Если malloc изменяет рабочий набор, то теги будут проставлены диспетчером памяти, а если malloc повторный в уже выделенную страницу из рабочего набора, то про состояние тегов ничего сказать нельзя. Тоже самое касается и free. Есть еще всякие dlopen'ы, когда в выделяемую память грузится код.

На всю физическую память единая карта в зарезервированной области, насколько я понял.

Ну то есть, теги еще и свопить надо.

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)
Ответ на: комментарий от gns

malloc вообще не должен трогать теги. free - должен их обнулять (те самые 3% оверхеда). Со стеком и записями активации, конечно, сложнее - наверное, в каких-то ситуациях нужно будет обнулять теги оптом.

Со свопингом оверхед по производительности тоже должен быть 3% (когда будет как-то реализована выкачка/закачка дополнительных данных).

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Очевидно, что операции над тегами должны производиться в режиме супервизора, иначе весь смысл пропадает. То есть, не уйдя в другое кольцо защиты, процедуру не вызовешь и из нее не вернёшься...

Впрочем, чего гадать, подождем privileged ISA, тогда обсудим.

gns ★★★★★
()
Ответ на: комментарий от tailgunner

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

gns ★★★★★
()
Ответ на: комментарий от gns

Очевидно, что операции над тегами должны производиться в режиме супервизора, иначе весь смысл пропадает

А... теперь понятно, о каком оверхеде ты говоришь. Но, ИМХО, из статьи вполне очевидно, что инструкции манипуляции тегами (stag и ltag) - инструкции пользователского уровня.

если страница вытесняется в своп — то туда и писать

Сейчас там есть место только для страницы.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Опасаюсь, что когда чипы появятся, стоить будут как Эльбрус...

они никогда не появятся - даю гарантию. Игрушки эти не принесут прибыль, а это гроб.

anonymous
()
Ответ на: комментарий от anonymous

они никогда не появятся - даю гарантию

Это очень удобно - давать гарантию от имени анонимуса %)

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Это очень удобно - давать гарантию от имени анонимуса %)

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

anonymous
()
Ответ на: комментарий от anonymous

коммерция это нечто иное

Чипы появятся. Не знаю, будет ли это успех уровня Raspberry Pi, но чипы будут.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Чипы появятся.

вот когда появятся...

будет ли это успех уровня Raspberry Pi

это же очевидное говнище

anonymous
()
Ответ на: комментарий от hobbit

Опасаюсь, что когда чипы появятся, стоить будут как Эльбрус...

Разве Эльбрус дорого стоит? Да это копейки и кошкины слезы. Вот Роскосмос, РЖД и запуски с Байконура - это дорого стоит.

anonymous
()
Ответ на: комментарий от tailgunner

Чипы появятся. Не знаю, будет ли это успех уровня Raspberry Pi, но чипы будут.

А кому и зачем они будут нужны? Мне действительно интересно. Я понимаю зачем копировать процессоры от интел и продавать их дешевле, но тут в чем маржа?

anonymous
()
Ответ на: комментарий от anonymous

Чипы появятся. Не знаю, будет ли это успех уровня Raspberry Pi, но чипы будут.

А кому и зачем они будут нужны?

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

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Может быть, никому

ты похож на потерянного щенка

anonymous
()
Ответ на: комментарий от tailgunner

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

Встроенные системы на 64 бита? Это запредельное по сложности оборудование. Радары, сонары и системы раннего обнаружения угроз из космоса, например. Тут любителям не светит.

anonymous
()
Ответ на: комментарий от anonymous

Встроенные системы на 64 бита? Это запредельное по сложности оборудование.

64-бит чипы стоят в мобильных телефонах и планшетах. Это ширпотреб уже сейчас, тем более к 2016 (оптимистичный срок начала производства чипов).

Тут любителям не светит.

Почему обязательно любители? BSD - любимая лицензия корпорастов.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от anonymous

64-бит чипы стоят в мобильных телефонах и планшетах.

С канальными процессорами?

В обвесе наверняка найдется десяток DSP и микроконтроллеров, они просто в глаза не бросаются.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

А... теперь понятно, о каком оверхеде ты говоришь. Но, ИМХО, из статьи вполне очевидно, что инструкции манипуляции тегами (stag и ltag) - инструкции пользователского уровня.

Ну, то есть, я сам своему слову хозяин — сам дал, сам взял... :)

Сейчас там есть место только для страницы.

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

А вот позволяет ли этот процессор проверить тег и выставить адрес за один цикл шины? Если нет, то это — беда.

gns ★★★★★
()
Ответ на: комментарий от tailgunner

а у lowRISC - тип доступа (rw).

то есть, не как у symbolics или там LMI, или там picolisp runtime — теги на данные? фу, незачёт.

anonymous
()
Ответ на: комментарий от SystemD-hater

Privileged ISA Specification (Under Review)

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

да легко, типа как в лисп-машинах микрокод расширяемый. главное, чтобы на готовом подмножестве специфицированного микрокода можно было любой мини-лисп написать и в нормальный лисп расширить :))

anonymous
()
Ответ на: комментарий от anonymous

не как у symbolics или там LMI, или там picolisp runtime — теги на данные? фу, незачёт.

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

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Ну все ж подешевле... У всех больших университетов чуть ли не свои учебные фабы есть.

gns ★★★★★
()
Ответ на: комментарий от anonymous

они никогда не появятся - даю гарантию.

Ну и убогие же ничтожества на ЛОРе собираются. Мозгов ноль, знаний ниже плинтуса, а туда же, «гарантируют». О том, что у них есть грант на первый тейпаут ты, плебей, конечно же даже и не слышал, да?

anonymous
()
Ответ на: теговая архитектура от anonymous

Уже делали, и неоднократно. Только работать с ней будет некому. Те, кто умел программировать на этом языке, — маргинализовались или умерли :) Или переквалифицировались в у̶п̶р̶а̶в̶д̶о̶м̶ы̶ scala-программеры.

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)
Ответ на: комментарий от gns

trinity: follow the white rabbit

ну тогда если помечтать... какая вот вероятность запилить сейчас компьютор на троичной логике, типа «Сетуни» Брусенцова?

какой-то эмулятор вот тут есть.

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

кроме того, про физический смысел троичной логики:

PsyHaSTe 31 марта 2015 в 10:08 # Потому что двоичную логику можно реализовать «нативно» — вкл-выкл, есть напряжение-нет, транзистор закрыт-открыт, магнитный заряд есть-нет. Троичную логику афайк можно только эмулировать. А на эмуляции все преимущества и теряются. Нельзя «полуоткрыть» транзистор.

тезис: троичная логика относится к вопросам, а не к ответам. к предикатам, а не к фактам.

ты уже перестал пить водку по утрам, отвечай: да или нет? да, перестал; или нет, не перестал

корректный ответ троичный — «мю (буддистское) — 'вопрос не имеет смысла'» то есть: вопрос должен быть не к фактам (есть X или нет), а к предикатам, силлогизмам, «пропозиционной логике».
ср.: «все X суть Y»(A XY), «есть X который также Y» (E XY).
по законам силлогизмов, из некоторых (AXY) и некоторых (ЕXY) можно вывести другие силлогизмы (A XZ) или (EXZ), где Z — следствие.
но! в троичной логике появляется также (M XY) «нет связи между X и Y» или (NXY).
то есть, вопросы надо задавать не в двоичной логике к фактам, а в троичной логике к силлогизмам.

например: «можно построить такую-то программу?»
+ = «да, можно»;
- = «нет, нельзя»;
0 = «ХЗ, и не доказуемо что нельзя».
что непонятно:
1. элементы памяти для тритов, с тремя состояниями
2. полезные предикаты для силлогизмов: чего именно да/нет/хз.

anonymous
()
Ответ на: trinity: follow the white rabbit от anonymous

1. и теги задавать тритами, на предикаты и силлогизмы.
2. ???
3. PROFIT!

anonymous
()
Ответ на: trinity: follow the white rabbit от anonymous

Вы извините, я сообщения от анонимных пользователей не вижу по умолчанию.

Сделать можно любую хрень, только зачем? То, что некоторые умеют программировать, — факт экспериментально подтверждённый. Не вижу особого смысла в подобных упражнениях.

То, что ответ «ХЗ» никто не отменял было понятно, видимо, и самому Аристотелю.

Только проблема в том что «ХЗ» — это ответ метаязыка. Попытка выразить понятие «ХЗ» в терминах достаточно богатого языка была удачной, вот у Гёделя и получилось. Только никто от этого не обрадовался, а бедолажный Фреге так и вовсе с ума сошел — Гёдель порушил дело его жизни :)

Если Вас от Карри не клинит и от Клини не каррит, то читайте у Роджерса, «Теория рекурсивных функций и эффективная вычислимость». Ну и Клини, конечно. Там много чего есть про «ХЗ» и про полезные предикаты. :)

gns ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.