Pull to refresh
32K+
101
Тимур Тукаев@TimurTukaev

COO @ Ænix, Open Source Enthusiast

114,8
Rating
48
Subscribers
Send message

да, действительно есть некототрая путаница местами. но: дедушке можно)))

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

Кстати, Component Pascal или Oberon-07 до сих пор используют там, где нужна абсолютная предсказуемость кода — всякая авиация и т.п. Но сам проект разрабатывался скорее как чисто учебный, для удобства изучения программирования, работы процессора, компилятора, операционной системы. Код довольно компактный и это позволяло одному человеку, грубо говоря, держать всё в голове от физики до ЯПа.

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

По поводу изобретения велосипеда — я не думаю, что это прям так, потому что сама RISC-архитектура давно известна и описана. Но Вирт действительно вдохновлялся работами ребят из Беркли (того же Паттерсона, собственно, изобретателя термина). Ему нравилась концепция простоты. Но у процессоров на деле мало общего — в том плане, что конкретно эти модели не порождены друг другом.

А у меня идея брать именно такие полумертвые/нереализованные проекты и пробовать с ними что-то делать:) Но звучит интересно, посмотрю в эту сторону.

Теперь по инструкции CHK. Действительно пришлось поправить компилятор и пересобрать Оберон, но с нюансами. Я не писал компилятор заново, а пропатчил кодогенератор компилятора Вирта + добавил инструкцию в CPU (RTL и эмулятор), а также провел самопересборку системы. При этом открытые массивы, длина которых не является константой, мой CHK не покрывает и не умеет с ними работать, там все так же нужна программная проверка.

Еще важно, что CHK переиспользует уже существующий механизм ловушек Оберона — аппаратно эта инструкция делает то же самое, что BLR (R15 := PC+4; PC := R12, номер ловушки в тех же битах IR[7:4]), поэтому Kernel.Trap декодирует ее без изменений в ОС.

По умолчанию ORG.Index на каждую индексацию массива делает проверку границ как SUB + BLR/CMP — 2 инструкции / 2 такта. Я изменил это так, чтобы для массивов известной на этапе компиляции длины выдавалась одна новая инструкция CHK, изменений там на пару строк.

Процессоры сильно разные, просто оба используют RISC-архитектуру. RISC-V разработан в Беркли (и это пятая модель их архитектуры), вокруг него огромное комьюнити, рыночная экосистема и т.п. RISC5 (без дефиса), пятая модель в линейке разработанных Виртом учебных процессоров. Это уже минималистичный процессор, вся суть которого состоит в том, чтобы один человек мог у себя в голове все детали его реализации и инструкций держать. Такое неудачное созвучие у проектов получилось

RISC-процессор обычно говорят, а не процессор RISC:) В целом валидный комментарий, спасибо автору

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

Upd.: RISC-процессор поправил, спасибо!

Ну, есть софт, а есть идеи, и иногда софт — это всего лишь форма для проверки или исследования идей и концепций и вся его польза будет состоять именно в этом. Лично мне все это интересно по нескольким причинам (и шутка тут не на первом месте, хотя пункты ниже располагал не по важности, а просто так):

  1. Софт все чаще начинает обретать собтсвенный голос (в том числе через ИИ, например). Мне любопытно, каким может быть софт, если доводить эту идею до абсурда или распространять ее не только на уровень речи, но и на реальное поведение софта: что он бы он реально делал, если бы его голос и характер влиял на его поведение. Это, скорее, вопрос UX.

  2. Сам вопрос о том, чем мужчины отличатся от женщин с точки зрения науки, мне был тоже очень интересен. Благодаря описанному в материле проекту мне удалось немного покопать в эту сторону. Я понимаю, что наука — штука ангажированная и нередко следует за повесткой на уровне выбора предмета исследования и т.п., но в любом случае это было любопытно.

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

  4. Как ограничения и примеры из реального мира могли бы позволить по-новому взглянуть на то, как устроен и функционирует Kubernetes. Те же моменты с X-хромосомами и переключением версий K8s на ходу при обнаружении каких-то багов и т.п. лично для меня кажутся интересными и достойными того, чтобы на это посмотреть (хотя да, слабо применимыми прямо сейчас и, может, вообще).

  5. А шутливая форма (и то, только во втором и третьем подпроектах) — это всего лишь форма. Для меня это, в общем-то, больше исследование софта и инфраструктуры, чем банальный троллинг. Просто зачем пафоса нагонять вокруг этого и надувать щеки, якобы все очень серьезно?

И возвращаясь к теме пользы. Есть такие дисциплины как палеокомпьютинг и т.п. Например, на Хабре то Plan 9 OS затестят в очередной раз, то какую-то старую железяку расковыряют — и вроде бы прямой пользы мало, но это интересно и это развивает мозги. Вот на днях выпущу материал о том, как добавил архитектуру RISC5 (не путать с RISCV) в KubeVirt и qemu, запустил на ней Оберон Вирта и затестил разные идеи, провел ряд бенчмарков. Плюс там будут лабораторки в живой среде, котору можно не только в KubeVirt, но и в браузере запустить и немножко поизучать концепции Вирта. Есть ли в этом польза? Сомневаюсь. Стоит ли это того, чтобы в этом поковыряться — для меня, опять же, ответ однозначный.

P.S. Спасибо за ваш комментарий, пожалуй, добавлю часть своего ответа в начало статьи.

Так а я для чего это написал, по-вашему?)

Поправимо, но весело)

Ну я все равно слабо верю в такую идею -- уже слишком разные щаконодательства придется подружить между собой))

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

1
23 ...

Information

Rating
42-nd
Works in
Registered
Activity

Specialization

Редактор