Oberon space

General Category => Общий раздел => Тема начата: ilovb от Ноябрь 30, 2013, 03:50:11 pm

Название: Project Oberon (New Edition 2013)
Отправлено: ilovb от Ноябрь 30, 2013, 03:50:11 pm
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html

Вот это поворот  :)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Ноябрь 30, 2013, 04:17:24 pm
Круто! Там отличное предисловие к 2013 году, про то что и почему поменялось.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Ноябрь 30, 2013, 04:25:50 pm
Угу. Проект переписан на новой ревизии языка.
И более того, это теперь не мертвая система, т.к.:
Цитировать
The decision for a new processor was expedited by the possibility to implement it, that is, to make it
concrete and available. This is due to the advent of programmable gate arrays (FPGA), allowing to
turn a design into a real, functioning processor on a single chip. As a result, the described system
can be realized using a low-costdevelopment board. This board, Xilinx Spartan-3 by Digilent,
features a 1-MByte static memory, which easilyaccommodates the entire Oberon System, incuding
its compiler. It is shown, together with a display, a keyboard and a mouse in the photo below. The
board is visible in the lower, right corner.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Ноябрь 30, 2013, 06:26:02 pm
Похоже, что нашел плату с фото из книги: http://www.chipdip.ru/product/dl-s3board/
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Ноябрь 30, 2013, 06:32:35 pm
Ну, что же, теперь у любого желающего есть все шансы получить труъ-Оберон компьютер занедорого!
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Ноябрь 30, 2013, 06:42:13 pm
И самое главное, теперь есть авторская реализация компилятора  ;)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Ноябрь 30, 2013, 06:59:44 pm
И самое главное, теперь есть авторская реализация компилятора  ;)
Да, надо будет его собрать посредством OberonJs :-)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Ноябрь 30, 2013, 07:11:22 pm
Между прочим, мы тут в конфе выяснили, что тот язык который используется в книжке, не соответствует Oberon report'у:
PROCEDURE Handle(G: Display.Frame; VAR M: Display.FrameMsg);
    VAR G1: Frame;
  BEGIN
    CASE G OF Frame:
      CASE M OF
      Oberon.InputMsg:
        IF M.id = Oberon.track THEN Oberon.DrawMouseArrow(M.X, M.Y) END |
      Oberon.CopyMsg:
        Oberon.RemoveMarks(G.X, G.Y, G.W, G.H); NEW(G1); G1^ := G^; M.F := G1 |
      MenuViewers.ModifyMsg:
        IF (M.Y # G.Y) OR (M.H # G.H) THEN G.Y := M.Y; G.H := M.H; Restore(G) END
      END
    END
  END Handle;
( http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/Checkers.Mod.txt )
Тут CASE Виртом используется как WITH. А согласно репорту CASE таковой семантики не имеет.

Так что большой еще вопрос что за язык реализует тот Виртов компилятор.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Ноябрь 30, 2013, 07:44:51 pm
Это несколько внезапно, но мне нравится ход его мыслей  :)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Ноябрь 30, 2013, 08:14:16 pm
Цитировать
[00:04:16] <boris_ilov> сделал поиск по исходникам
[00:04:32] <boris_ilov> CASE теперь не работает с INTEGER и CHAR
[00:04:53] <boris_ilov> теперь это тупо селектор для шины сообщений
http://46.254.16.186/oberon@conference.jabber.ru/2013/12/01.html
Название: Re: Project Oberon (New Edition 2013)
Отправлено: vlad от Декабрь 01, 2013, 05:30:09 am
Это несколько внезапно, но мне нравится ход его мыслей  :)

Угу. Апологеты еще не успели оправдать идеологическую правильность выпиливания WITH, о оно уже возвращается в моду (с другим синтаксисом)...
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 01, 2013, 10:01:49 am
На самом деле интересно проследить как менялось позиционирование этой системы и компьютера.

В 1987 году Ceres - это была современная рабочая станция, уровня недостижимого для домашних компов. Огромный экран, высокое (1024x800!) разрешение, много памяти, полностью 32битный. Для сравнения современнейший Macintosh II вышедший в 1987 году умел максимум 640×480. А стоил он $5,498, что в пересчете на сегодняшние деньги примерно составляет порядка $11300.

К тому же в Ceres/Oberon были реализованы и использовались новейшие парадигмы, причем не абы как, а качественно допиленные.

С чем бы сравнить... Ну, это все равно что если бы сейчас Вирт выкатил компьютер с дисплеем имеющим разрешение 4k (http://ru.wikipedia.org/wiki/4K_(%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5)) управляемый через NUI (http://en.wikipedia.org/wiki/Natural_user_interface) и там всякое perceptual computing.

Сейчас же то что описано в книге - система и компьютер, штука очень классная для настоящих гиков  (а не тех недогиков которые пускают слюни на новые смартфонные флагманы), и отличная для университетского курса. Но вот в качестве компьютера общего назначения использоваться уже не может. Даже в качестве домашнего компа не может - оно просто не удовлетворяет базовым ожиданиям от ПК. Ну, грубо говоря, там ни музыку послушать нельзя, ни видео посмотреть, ни на форум оберонкоре зайти. И дело тут не в софте.

Кроме того, если Ceres полностью проектировался на нем самом (ну, и частично на его предшественнике - Lilit), то текущая версия уже жестко зависит от винды. Баналько "скомпилировать" Verilog-исходники и зашить результат в FPGA'шку без винды не выйдет.

Причем судя по новой версии книги Вирт это понимает, и не претендует на то, что этот компьютер - это машина общего назначения.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Geniepro от Декабрь 01, 2013, 10:53:05 am
Банально "скомпилировать" Verilog-исходники и зашить результат в FPGA'шку без винды не выйдет.

Это как так? Под линуксами нет аналогичных инструментов?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 01, 2013, 11:33:57 am
Банально "скомпилировать" Verilog-исходники и зашить результат в FPGA'шку без винды не выйдет.

Это как так? Под линуксами нет аналогичных инструментов?
При чем тут линукс? Важно что на самом том компе это не сделать.

Ну а на линуксе на мейнстрим-компе с компиляцией верилога все ок будет, но вот драйверов чтобы зашить дев борду может и не быть.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Geniepro от Декабрь 01, 2013, 12:15:12 pm
При чем тут линукс? Важно что на самом том компе это не сделать.

Имеешь в виду, что на самой оберон-машине нет средств для её же разработки?
Ну, это, наверное, не так уж и важно. Как в том анекдоте -- фирма Apple купила суперкмопьютер фирмы Cray для разработки своего следующего компьютера, а фирма Cray купила компьютер фирмы Apple для разработки своего следующего суперкомпьютера... )))
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 01, 2013, 02:17:27 pm
Ссылка на доку к плате от самого Вирта: http://www.digilentinc.com/Data/Products/S3BOARD/S3BOARD_RM.pdf
Ну и сама плата: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,799&Prod=S3BOARD

ps Ссылка взята тут: http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 01, 2013, 03:04:25 pm
Кстати, а эмулятор процессора то уже есть почти готовый: http://www.inf.ethz.ch/personal/wirth/CompilerConstruction/RISC.Mod.txt
 :)
Осталось реализовать 4 арифметических команды для чисел с плавающей точкой
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 01, 2013, 03:52:25 pm
Кстати, а эмулятор процессора то уже есть почти готовый: http://www.inf.ethz.ch/personal/wirth/CompilerConstruction/RISC.Mod.txt
 :)
Осталось реализовать 4 арифметических команды для чисел с плавающей точкой
Вообще можно же Verilog-схему в эмулятор засунуть. Хотя это работать будет конечно медленней.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 01, 2013, 05:56:20 pm
Это несколько внезапно, но мне нравится ход его мыслей  :)
Угу. Апологеты еще не успели оправдать идеологическую правильность выпиливания WITH, о оно уже возвращается в моду (с другим синтаксисом)...
Встречайте новый WITH  :)

(http://s5.hostingkartinok.com/uploads/thumbs/2013/12/d92224e2f02978a0de2f2973701b2bd0.png) (http://hostingkartinok.com/show-image.php?id=d92224e2f02978a0de2f2973701b2bd0)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 01, 2013, 06:20:44 pm
Кстати, я вот тут подумал про этот Оберон-компьютер, и про Оберон-ОС и язык, и как это все взаимодействует, и мне пришла в голову мысль: с точки зрения того кто работает на FPGA, все эти приложения в машкодах писанные на C++/C/Ada/Oberon суть скрипты да конфиги, которые собственно дирижируют работой "железных" модулей писанных на Verilog/VHDL. Разница в производительности между кодом в машкода и "кодом" FPGA примерно такая же, или даже больше, чем разница в производительности между С++ и какой-нибудь Lua/Python.

Соответственно и подход тут примерно тот же что и в случае "скриптовых" языков -- основные исполняемые модули пишутся на чем-то более производительном (Verilog в случае FPGA vs Native, и на C++ в случае Native VS Interpretation), и для них пишется гламурная оберточка для чего-то более гибкого, но более тормозного (скажем для C++ в случае FPGA vs Native, и для Python в случае Native vs Interpretation). Более гибкое - это значит можно быстрее переконфигурировать, быстрее поправить и залить, перезапустить.

В случае компьютера Вирта, который описан в книжке, все становится на самом деле на свои места - Oberon там достаточно безопасный язык, который совершенно не претендует на какую-то сверхпроизводительность, реализация его там - более-менее безопасна, есть проверки индексов и прочие радости, сборщик мусора опять же. CPU в том компе также максимально прост, жрет минимум ресурсов FPGA'шки и на скорострельность особо и не претендует. Ведь его задача - исполнять высокоуровневый простой скрипт (ну компилятор там, операционку) :-)

Таким образом, если нам нужен скажем декодинг h264, то просто берем и вставляем/реализуем модуль декодирования h264 на самой FPGA, делаем гламурную обертку для него в виде модуля на Обероне, и смотрим видео. Более того, FPGA можно переконфигурировать в зависимости от текущей выполняемой задачи ;-)

Вот такие вот мысли, да.

PS. А после того как мне эта мысль пришла в голову, я немного погуглил - мысль оказалась не оригинальной - и для xilinx и для altera есть так называемые softcore - простейшие RISC CPU-ядра (в виде Verilog кода), которые как раз используются когда нужно поскриптовать скажем на С++ другие кастомные модули FPGA. В общем, такой подход уже давно в мейнстриме :-) Но у Оберона конечно это проявлено несколько ярче, с особым упором на то, что язык программирования это безопасный тормоз :-)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 05, 2013, 12:37:27 pm
Кстати, примечательно, что Вирт выбрал именно си-подобный Verilog, а не весь из себя такой строго типизированный паскале-ада-подобный VHDL.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: kkkk от Декабрь 05, 2013, 03:54:21 pm
Да, интересно. Возможно выбор инструмента был продиктован выбранной платой или ближайшим окружением. И он ли занимался кодированием?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Geniepro от Декабрь 05, 2013, 04:11:48 pm
Кстати, примечательно, что Вирт выбрал именно си-подобный Verilog, а не весь из себя такой строго типизированный паскале-ада-подобный VHDL.

Я думаю, он просто ниасили аду-vhdl, плюс тут ещё личная неприязнь -- ведь он когда-то делал модулу-2 именно как конкурента аде...
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 05, 2013, 04:19:51 pm
Да, интересно. Возможно выбор инструмента был продиктован выбранной платой или ближайшим окружением. И он ли занимался кодированием?
Да там кодирования то...

Нет, от выбора платы это не зависит. Вообще, там (в мире FPGA) ситуация такая - поддержка VHDL есть у всего, а вот поддержка Verilog - не всегда не везде и не обязательно полна.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Wlad от Декабрь 05, 2013, 04:21:29 pm
Кстати, примечательно, что Вирт выбрал именно си-подобный Verilog, а не весь из себя такой строго типизированный паскале-ада-подобный VHDL.

Я думаю, он просто ниасили аду-vhdl, плюс тут ещё личная неприязнь -- ведь он когда-то делал модулу-2 именно как конкурента аде...
До Модулы-2 была Модула, появившаяся в 1975 году (надо полагать, что работа над ней ещё раньше была начата). Конкурс на Аду объявили, по-моему, в 1978 году...
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 05, 2013, 04:44:16 pm
Кстати, а вот Кронос: https://code.google.com/p/kronos/ -- таки тоже компьютер с исходниками на VHDL (исходники операционки (писано на Модуле) тоже есть, равно как и эмулятор). Кстати, авторы когда делали реинкарнацию машины использовали тот же Спартан-3 что и Вирт сейчас (они это делали в 2005 году). Операционка там - Эксельсиор. Юникс типа ;-)

http://kronos.iis.nsk.su/photo/reincarnation/5

http://kronos.iis.nsk.su
Название: Re: Project Oberon (New Edition 2013)
Отправлено: kkkk от Декабрь 05, 2013, 08:23:07 pm
Да там кодирования то...
Даже с учетом освоения новой технологии, когда тебе за 70?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 05, 2013, 08:31:48 pm
Да там кодирования то...
Даже с учетом освоения новой технологии, когда тебе за 70?
Не знаю. Это сильно зависит от.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 05, 2013, 10:03:31 pm
А кто-нибудь разобрался как к этому новому Оберон-компу подключают мышку? Ибо на Спартан-3 плате (http://www.digilentinc.com/Data/Products/S3BOARD/S3BOARD_RM.pdf) всего один PS/2 порт, и на фотке в книге ясно видно что туда воткнута клавиатура. RS-232 там пустует, то есть мышку не в COM-порт воткнули. Так куда же?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 05, 2013, 10:09:49 pm
Гм. Или там на FPGA Вирт реализовал не один а два PS/2, и ноги для второго вывел на слот расширения?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 06, 2013, 12:45:11 am
В 17.2.4 видимо опечатка:
Цитировать
From a 15 MHz clock rate results a refresh rate of 53.5 frames/s.

Должно быть:
Цитировать
From a 25 MHz clock rate results a refresh rate of 53.5 frames/s.

 PS. а еще я не понимаю там что такое clk25 и чем оно отличается от clk
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ddn от Декабрь 06, 2013, 08:43:21 am
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola (http://en.wikipedia.org/wiki/Lola_(computing))
Зачем ему богомерзкий Verilog?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 06, 2013, 08:50:42 am
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola (http://en.wikipedia.org/wiki/Lola_(computing))
Зачем ему богомерзкий Verilog?
А синтез для Xilinx кто делать будет? Компилятора не достаточно. А лучше родного софта под данный конкретный кристалл никто не сделает.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 06, 2013, 09:02:45 am
Кстати, про Дракон и другие рисовалки:

Цитировать
Nowadays circuits are no longer described in terms of elaborate diagrams, but rather as a
formal text. This lets circuit and program design appear quite similar. The circuit description language – we here use Verilog – appears almost the same as a programming language. But one must be aware that differences still exist, the main one being that in software we create mostly sequential processes, whereas in hardware everything “runs” concurrently. However, the presence of a language – a textual definition – is an enormous advantage over graphical schemata.

Это Вирт, пишет тут: http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf
Название: Re: Project Oberon (New Edition 2013)
Отправлено: kkkk от Декабрь 06, 2013, 09:11:17 am
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola (http://en.wikipedia.org/wiki/Lola_(computing))
Вот как? Тогда вопрос об освоении новой технологии Виртом не стоит, скорее всего он знал уже достаточно.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 06, 2013, 09:15:21 am
У Вирта же наклепан свой расово-верный оберноподобный язык для электронных схем Lola (http://en.wikipedia.org/wiki/Lola_(computing))
Вот как? Тогда вопрос об освоении новой технологии Виртом не стоит, скорее всего он знал уже достаточно.
Он этой Lola занимался в 1994 году примерно.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Geniepro от Декабрь 06, 2013, 09:24:14 am
Кстати, про Дракон и другие рисовалки:

Цитировать
Nowadays circuits are no longer described in terms of elaborate diagrams, but rather as a
formal text. This lets circuit and program design appear quite similar. The circuit description language – we here use Verilog – appears almost the same as a programming language. But one must be aware that differences still exist, the main one being that in software we create mostly sequential processes, whereas in hardware everything “runs” concurrently. However, the presence of a language – a textual definition – is an enormous advantage over graphical schemata.

Это Вирт, пишет тут: http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf

Зависит от масштабов задачи. Простые платы типа контроллеров для приборчиков проще рисовать на бумажке, макетировать на картонке, а затем трассировать в каком-нить PCAD'е...
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ddn от Декабрь 06, 2013, 09:27:35 am
Ничего не понял.

А синтез для Xilinx кто делать будет? Компилятора не достаточно.
Какого компилятора? Который оберон-текст переводит в команды FPGA? Так эта Lola вроде другое делает: логическое описание схемы она переводит в непосредственный рисунок для литографии, или в прямые команды для литографической машины, или что там у них. То есть тоже что делает Verilog.

А лучше родного софта под данный конкретный кристалл никто не сделает.
Какого софта? Если под конкретный кристалл, то значит кристалл на котором уже сформирована схема, тогда это микрокод, компилятор. Разве Xilinx вообще пишет компиляторы под Обероны?

И зачем нужно лучше? Главное чтобы софт правильно работал. Разве система команд FPGA такая сложная, что правильный компилятор под нее никто кроме Xilinx не напишет?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 07, 2013, 01:11:19 pm
Покурил я Spartan-3, вывод - максимум что там можно сделать с VGA, это 8 цветов. Для большего нужно, видимо, внешний DAC прикручивать (на плате его нет) и уже через него гнать сигнал.

Кроме того, SRAM там всего 1 мегабайт. На восьмицветный видеобуфер нужно будет из этого мегабайта выделить 288 килобайт памяти. Что, IMHO, слишком жирно будет, хотя может для каких-то задач и пойдет. Нужно будет посмотреть что там с памятью в системе. :-)

Зато можно легко и непринужденно сделать выбор цвета foreground'a и background'a (выбор - из этих вот восьми цветов) с переключением на лету, прямо из Оберон ОС. То есть картинка у нас двуцветная все равно, но можно сделать чтобы это было не черно-белое, а например зелено-красное :-D

Кроме того у Вирта там уже воткнута возможность инвертации - то есть можно легко переключать из черно-белого режима в бело-черный и обратно (типа ночной и дневной режим).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 08, 2013, 10:15:14 pm
В плане выбора платы таки склоняюсь к DE2-115 (http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=502&PartNo=2). Да, это дорого. Зато, в отличие от других вариантов, тут есть 4 битный VGA DAC которые может работать на 108 МГц, что дает максимальное разрешение 1280x1024 и 4096 цветов. Более младшие, типа DE0 дают максимальное разрешение 640x480, что для Оберона маловато будет.

Кроме того тут есть SRAM на 2 Мегабайта, обычно же на платах (Spartan-3 тут пожалуй исключение) SRAM'а меньше - 0.5 Мб а то и меньше (зато есть SDRAM, но с ней возиться долго и мучительно).

Ну и наконец DE2-115 это любимая девборда для тех кто пытается какой-либо комп воссоздать. Например на нем писишку сделали: http://habrahabr.ru/post/146160/ А вот и NES (ака Денди): http://habrahabr.ru/post/185872/

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

PS. Также у Алтеры среда разработки много продуманней и человечней чем у Xilinx'a.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 09, 2013, 09:06:14 pm
Кстати, вот тут исходники Lola доступны: http://www.cs.inf.ethz.ch/projects/lola/lola_lang/
Как-то их там подозрительно мало - всего 4 модуля ;-)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 09, 2013, 09:22:08 pm
Ничего не понял.

А синтез для Xilinx кто делать будет? Компилятора не достаточно.
Какого компилятора? Который оберон-текст переводит в команды FPGA? Так эта Lola вроде другое делает: логическое описание схемы она переводит в непосредственный рисунок для литографии, или в прямые команды для литографической машины, или что там у них. То есть тоже что делает Verilog.
...
И зачем нужно лучше? Главное чтобы софт правильно работал. Разве система команд FPGA такая сложная, что правильный компилятор под нее никто кроме Xilinx не напишет?
Система команд - это немного не то слово :-)
Вот тут описано подробнее все сложности написания чего-то своего: http://dfusion.com.au/wiki/tiki-index.php?page=Open+source+FPGA+place+and+route
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Губанов Сергей Юрьевич от Декабрь 10, 2013, 12:43:55 pm
Для сравнения современнейший Macintosh II вышедший в 1987 году умел максимум 640×480. А стоил он $5,498, что в пересчете на сегодняшние деньги примерно составляет порядка $11300.
Кажется ты ещё один нолик забыл дописать  :)


Данных за 26 лет я не собирал, но вот за последние 10 лет случилась 2.72 кратная официальная инфляция, а неофициальная ещё больше - примерно четырёхкратная.


Десять лет назад доллар стоил столько же сколько и сейчас (32 - 33 рубля). То есть вся случившаяся рублёвая инфляция на сто процентов обусловлена импортированной к нам инфляцией доллара. Официальная инфляция рубля за последние 10 лет по данным ЦБ:
i2003 = 1.12;
i2004 = 1.117;
i2005 = 1.109;
i2006 = 1.09;
i2007 = 1.119;
i2008 = 1.133;
i2009 = 1.088;
i2010 = 1.088;
i2011 = 1.061;
i2012 = 1.066;
i2013 = 1.061;
iTotal = i2003*i2004*i2005*i2006*i2007*i2008*i2009*i2010*i2011*i2012*i2013
2.72355

 Это уже больше чем у тебя за 26 лет.


Кстати, если просто по золоту посмотреть, то его цена в рублях за последние 10 лет выросла в 3.71 раза. Что хорошо согласуется с неофициальной (четырёхкратной) величиной инфляции.

Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 10, 2013, 01:38:59 pm
Я пользовался инфляционным калькулятором.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 09:48:48 am
Что-то я опять не понимаю. Вот тут у Вирта явно используется старая семантика CASE:
https://github.com/ilovb/ProjectOberon2013/blob/master/RISC.Mod#L31

Выходит у него часть исходников к книге писана на одном языке, а часть на другом.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 17, 2013, 09:52:43 am
А это исходник из другой книги скопипастен.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 09:55:45 am
А это исходник из другой книги скопипастен.
Если скопипасчен, то Виртом -  я его нашел тут: http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/RISC.Mod.txt

Да и заголовок в этом модуле намекает, что это не просто копипаста:

MODULE RISC;     (*NW 22.9.07 / 1.11.2013*)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 17, 2013, 10:10:28 am
http://www.inf.ethz.ch/personal/wirth/CompilerConstruction/RISC.Mod.txt
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 10:32:09 am
Гм. Похоже в компьютере Вирта (что в PO 2013 описан) в принципе нет прерываний. Соответственно в операционке прерываний также нет.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 10:50:37 am
Не могу найти источник времени в Оберон-компе. Странно.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 10:57:09 am
Кстати, судя по комментам, FPGA'шная инкарнация компьютера называется Ceres-4

MODULE Input; (*NW 5.10.86 / 15.11.90 Ceres-2; PDR 21.4.12 / NW 15.5.2013 Ceres-4*)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 11:07:42 am
Еще странности - даже в коде компилятора используется модуль SYSTEM. А ведь компилятор это весьма далекое от железа, высокоуровневое приложение. (скажем компиляторы пишут в том числе на прологе и прочих разных языках которые от железа за километр)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 17, 2013, 06:11:06 pm
http://www.inf.ethz.ch/personal/wirth/CompilerConstruction/RISC.Mod.txt
Кстати, присмотрелся к потрохам модуля - это не эмулятор процессора описанного в PO2013. Это более ранняя модель. Инструкций 12 вместо 16ти. Возможно есть и другие отличия.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 18, 2013, 05:44:59 am
Похоже что PO2013 можно без проблем компильнуть в Linz Oberon V4
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 20, 2013, 12:09:38 pm
Похоже что PO2013 можно без проблем компильнуть в Linz Oberon V4
В конфе обсудили - без проблем не удалось. Да вообще пока никак не удалось.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 20, 2013, 06:23:36 pm
Немного информации о Project Oberon 2013 от Криса (автора Astrobe) из оберонистого списка рассылки:

Цитировать
Yes - it is still a 'work in progress' but the Language Report, CPU
description and Verilog sources are currently on the other pages of Wirth's
website:

http://www.inf.ethz.ch/personal/wirth/

There is also an updated version of Compiler Construction book.

LONGINT is just an alias for INTEGER and the complete CASE statement is on
its way,

A version of Astrobe that supports the FPGA compiler is well underway ...

Regards,
Chris

Chris Burrows
CFB Software
http://www.astrobe.com
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 21, 2013, 05:29:13 pm
Еще инфа, на этот раз от соавтора:
Цитировать
Hi Oberoners,

As some have already now noticed, Prof. Wirth and I have tidied up and
added some new material to his home page, including a pre-release of a new
version of the Project Oberon book.

The system in the new edition runs on a computer implemented on a
field-programmable gate array (FPGA), removing in particular the
dependency on the defunct NS32032 processor in the original book.  The
version of the Oberon language used to implement the new system in its
entirety is based on Oberon-07, separate material for which is also
already available on Prof. Wirth's site
http://www.inf.ethz.ch/personal/wirth/.

The new Project Oberon documents should not be considered final and will
continue to be updated substantially over the next few months.

Best regards,
Paul Reed
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 21, 2013, 11:41:15 pm
Гм. А кто-нибудь разобрался почему внезапно появилась инструкция STR вместо STW? (STW/LDW описаны в СС, а STR/LDR в PO, при этом STB и LDB есть и в CC и в PO) И в чем вообще отличие?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 22, 2013, 02:27:37 pm
У Вирта довольно забавная манера писать.

Есть инструкции LDR и STR - для загрузки и выгрузки слова из памяти в регистр и обратно. И есть LDB/STB - для байта.

Так вот, в перечне констант для инструкций STR/LDR есть, а STB/LDB нет: https://github.com/ilovb/ProjectOberon2013/blob/master/ORGX.Mod#L17

A когда нужно сгенерировать STB например, он пишет STR+1. Дико, неявно, не безопасно. Зато экономия целых двух констант!
IF x.type.size = 1 THEN op := Str+1 ELSE op := Str END ;

Я когда смотрел на код кодогенератора, прошелся по секции констант и было подумал, что STB там вообще не используется. Залез в детали реализаци - ан нет, используется!

И еще странность. судя вот по этому: https://github.com/ilovb/ProjectOberon2013/blob/master/ORGX.Mod#L10 максимальный размер кода - 8000 слов. Чуть менее 8 Кб то ли на модуль то ли на процедуру.

IF pc >= maxCode - 40 THEN ORS.Mark("Program too long"); END
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 22, 2013, 02:30:34 pm
Да, и еще один нюанс - исходя из набора инструкций процессора, за одну инструкцию загнать в регистр константу времени компиляции можно только если константа укладывается в 16бит, либо если она может быть получена из 16ти бит дополнением до 32бит нулями либо единицами.

Причем примеров как быть с 32битными константами я пока в книге не нашел (возможно найду в CC).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 22, 2013, 02:45:11 pm
Да, и еще один нюанс - исходя из набора инструкций процессора, за одну инструкцию загнать в регистр константу времени компиляции можно только если константа укладывается в 16бит, либо если она может быть получена из 16ти бит дополнением до 32бит нулями либо единицами.

Причем примеров как быть с 32битными константами я пока в книге не нашел (возможно найду в CC).

В общем то код для этого случая тут: https://github.com/ilovb/ProjectOberon2013/blob/master/ORGX.Mod#L65
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 22, 2013, 03:13:24 pm
Да, и еще один нюанс - исходя из набора инструкций процессора, за одну инструкцию загнать в регистр константу времени компиляции можно только если константа укладывается в 16бит, либо если она может быть получена из 16ти бит дополнением до 32бит нулями либо единицами.

Причем примеров как быть с 32битными константами я пока в книге не нашел (возможно найду в CC).

В общем то код для этого случая тут: https://github.com/ilovb/ProjectOberon2013/blob/master/ORGX.Mod#L65

Однако в этом коде есть одна непонятка - зачем там выставляется флаг U для инструкции Mov?
Put1(Mov+U, RH, 0, im DIV 10000H);

Если брать описание инструкций в CC - для инструкции Mov U не играет роли, имеет смысл только V. Вообще, по логике вещей, тут нужно было бы закинуть в старшие биты регистра RH результат деления im на 2^16. Быть может флаг U как раз ровно за это и отвечает (для формата 1)?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 22, 2013, 03:34:52 pm
Однако в этом коде есть одна непонятка - зачем там выставляется флаг U для инструкции Mov?
Put1(Mov+U, RH, 0, im DIV 10000H);

Если брать описание инструкций в CC - для инструкции Mov U не играет роли, имеет смысл только V. Вообще, по логике вещей, тут нужно было бы закинуть в старшие биты регистра RH результат деления im на 2^16. Быть может флаг U как раз ровно за это и отвечает (для формата 1)?

Ответ найден тут: http://www.inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf
Цитировать
Register instructions contain two modifier bits u and v. The instruction MOV with u set to 1 shifts the
immediate value im by 16 bits to the left. Instructions ADD and SUB with the modifier bit u set to 1 add
(subtract) the carry bit C, and the MUL instruction with u set to 1 considers the operands as unsigned
numbers, yielding a 64-bit unsigned product.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 25, 2013, 02:52:46 pm
Опаньки. Оказывается не все исходники Оберона (операционки) выложены. Как минимум не хватает модуля Modules (который импортируется например модулем Oberon).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 25, 2013, 03:46:14 pm
Проверил все модули на предмет недостачи: недостает ровно двух модулей - Modules и V24.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 26, 2013, 11:32:29 am
Кстати, у меня ощущение. что раньше, в более старой версии системы, SYSTEM использовался не столь широко. Теперь же он используется повсеместно.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Декабрь 26, 2013, 12:29:32 pm
Надо бы утилитку написать которая построит граф модулей.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 26, 2013, 12:38:55 pm
Надо бы утилитку написать которая построит граф модулей.
Сделай. Штука полезная будет.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: X512 от Декабрь 27, 2013, 02:57:08 am
Надо бы утилитку написать которая построит граф модулей.
Такая утилита уже есть в BlackBox, но толку от неё мало. При большом количестве модулей линии пересекаются и ничего не понятно.

Лучше сделать по типу http://www.dependencywalker.com/ (http://www.dependencywalker.com/).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 27, 2013, 07:19:27 am
Надо бы утилитку написать которая построит граф модулей.
Такая утилита уже есть в BlackBox, но толку от неё мало. При большом количестве модулей линии пересекаются и ничего не понятно.

Лучше сделать по типу http://www.dependencywalker.com/ (http://www.dependencywalker.com/).
Для текущих нужд, по крайней мере мне, было бы достаточно тулзы которая генерит текстовый файлик в dot-формате (http://ru.wikipedia.org/wiki/DOT_(%D1%8F%D0%B7%D1%8B%D0%BA)).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Romiras от Декабрь 27, 2013, 09:16:00 am
http://oberoncore.ru/library/iljin_blackbox_sysgraph
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Romiras от Декабрь 27, 2013, 09:26:25 am
forum.oberoncore.ru/viewtopic.php?p=46375#p46375
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 27, 2013, 09:45:28 am
http://oberoncore.ru/library/iljin_blackbox_sysgraph
А можно ссылку на тулзу именно для оберона? Зависимости модулей ББ мне пока не нужны.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: satan от Декабрь 29, 2013, 03:33:17 pm
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html

Что то изменилось?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 29, 2013, 05:02:45 pm
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html

Что то изменилось?
Да. Как минимум появился Modules и верилог-исходники, в том числе top-level. Надо еще посмотреть содержание и текст книги, возможно там тоже изменения.

И это все очень здорово :-) Хороший подарок к новому году (по крайней мере для меня).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: satan от Декабрь 29, 2013, 05:15:34 pm
Только исчезли исходники компилятора!!!
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 29, 2013, 05:23:28 pm
Только исчезли исходники компилятора!!!

Ну, не все. То есть кое-какие ссылки действительно стали битыми, но, однако, некоторые работают:
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORP.Mod.txt
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORC.Mod.txt

Алсо старые ссылки тоже работают (просто новые стали не кошерными). Например:
Новая http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORG.Mod.txt не работает, зато работает старая:
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/ORGX.Mod.txt

Так что код компилятора таки есть. Вопрос в том, насколько он теперь согласован. Ну, а в случае чего, никто не мешает пользоваться старым кодом, предыдущей публикации.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: satan от Декабрь 29, 2013, 06:26:59 pm
Просто интересно, встретил вот такую конструкцию

TYPE
    Object* = POINTER TO ObjDesc;
    Module* = POINTER TO ModDesc;
    Type* = POINTER TO TypeDesc;

    ObjDesc*= RECORD
      ...
    END ;

    ModDesc* = RECORD (ObjDesc) orgname*: ORS.Ident END ;

Интересно. Сейчас переписываю компилятор, проверяю действительно поддерживает расширяемость записей. И можно ли им собрать ОСь для х86?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 29, 2013, 06:47:50 pm
Просто интересно, встретил вот такую конструкцию

TYPE
    Object* = POINTER TO ObjDesc;
    Module* = POINTER TO ModDesc;
    Type* = POINTER TO TypeDesc;

    ObjDesc*= RECORD
      ...
    END ;

    ModDesc* = RECORD (ObjDesc) orgname*: ORS.Ident END ;

Интересно. Сейчас переписываю компилятор, проверяю действительно поддерживает расширяемость записей. И можно ли им собрать ОСь для х86?
Эмм.. А разве бывает оберон без расширяемых записей? Они там были изначально и естественно остались и в последних его ревизиях.

Собрать что-то для x86 нельзя. Во-первых там кодогенератор умеет только RISC0 и RISC5, а во-вторых ось сама по себе на x86 компе работать не будет даже если её собрать компилятором умеющим генерировать x86 код.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: satan от Декабрь 29, 2013, 07:02:06 pm
Нет, ну я переписываю компилятор под х86 (возможно и х64), то есть кодогенератор.
Линкёр возьму из нативного оберона 2.3.7, ну и часть кодогенератора...

Просто О7 маленький и понятный, остальное можно дописать что необходимо!
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Декабрь 29, 2013, 07:05:49 pm
Нет, ну я переписываю компилятор под х86 (возможно и х64), то есть кодогенератор.
Линкёр возьму из нативного оберона 2.3.7, ну и часть кодогенератора...

Просто О7 маленький и понятный, остальное можно дописать что необходимо!
Угу. Но тут есть два нюанса: первое - саму ось, именно как ось, а не приложение под винду-линух, под x86 так просто не перетащить. Второе - тот компилятор который есть в этой оси, это не Oberon rev 2013 и не Oberon rev 2007/2008. Это что-то другое (местами расширенное, причем расширения эти не описаны).
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Январь 20, 2014, 06:40:08 pm
Закоммитил проэкт по состоянию на 20.01.2014
https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Valery Solovey от Январь 21, 2014, 09:24:44 am
"OR Compiler", однако...
https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244#diff-ec269f2dcbbad1d06c87c72169d0fcf2L970 (https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244#diff-ec269f2dcbbad1d06c87c72169d0fcf2L970)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Январь 21, 2014, 01:52:52 pm
"OR Compiler", однако...
https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244#diff-ec269f2dcbbad1d06c87c72169d0fcf2L970 (https://github.com/ilovb/ProjectOberon2013/commit/974a5401ce87cfd8f6495e9ee7f2435f17ae0244#diff-ec269f2dcbbad1d06c87c72169d0fcf2L970)

Oberon RISC Compiler. Названия модулей компилятора соответствующие.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Январь 28, 2014, 08:07:00 pm
Niklaus Wirth Birthday Symposium (http://wirth-symposium.ethz.ch/)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Январь 28, 2014, 08:14:53 pm
http://www.osp.ru/os/2012/06/13017106/

Цитировать
В 90-х Вирт переключил внимание на проектирование аппаратного обеспечения на основе программируемых логических матриц (Field-Programmable Gate Array, FPGA). Его исследовательские команды разрабатывали языки для программирования FPGA, позволявшие весьма сложными способами использовать эти интегральные схемы.

Интерес к FPGA привел Вирта к проекту, над которым он работает и по сей день. После выхода на пенсию в 1999 году Вирт продолжил экспериментировать с FPGA и добился, в частности, полной реализации центрального процессора архитектуры RISC их средствами. Сейчас он модифицирует ОС Operon таким образом, чтобы она смогла работать на RISC-компьютере, основанном на FPGA. Он планирует построить полноценный компьютер на базе FPGA-платы Xilinx за 100 долл.: «Я пришел к выводу, что принцип простоты, которым я руководствовался в программном обеспечении, следует применять и к аппаратному, и сегодня это возможно благодаря программируемым матрицам. У меня есть макетная плата Xilinx с FPGA, на которой я реализовал микропроцессор. Это RISC-чип, но он гораздо проще, чем ARM, MIPS или SPARC, — в нем есть лишь все самое важное, что необходимо разъяснить и показать студентам. Код процессора занимает всего три страницы. Я написал компилятор Оберона для своей RISC-архитектуры, а также компоновщик и загрузчик».

По мнению Вирта, «пенсионер — это лучшая должность, поскольку не надо ходить на скучные собрания научных комитетов». Его нынешняя цель — закончить RISC-процессор на основе FPGA, выпустить обновленный Оберон для него и доработать книгу по этому языку, добавив главы с описанием процессора и его архитектуры.

***

Когда работа над аппаратным обеспечением, ПО и книгой Вирта будут окончены, можно будет построить учебную лабораторию с рабочими станциями для Оберона, в которой студенты — слушатели курсов компьютерных дисциплин смогут начать с написания программы «Hello world» на Обероне, потом перейти к основам объектно-ориентированного программирования и архитектуры операционных систем, а после — и к проектированию аппаратного обеспечения. Надежным помощником в этом им станет учебник с подробным описанием ПО и оборудования в лаборатории. Все будет настолько простым, элегантным, понятным и легким в освоении, что студенты смогут получить максимум знаний за максимально короткое время — иного Никлаус Вирт не допустит.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Февраль 06, 2014, 06:05:57 pm
Закоммитил проэкт по состоянию на 06.02.2014
https://github.com/ilovb/ProjectOberon2013/commit/b2cbf600ac4cff832137d89c18a4e569a9b6762f
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Февраль 06, 2014, 06:15:09 pm
Programming in Oberon
A derivative of Programming in Modula-2 (1982)
Niklaus Wirth (rev. 1.2.2014)
http://www.inf.ethz.ch/personal/wirth/Oberon/PIO.pdf

Compiler Construction
Niklaus Wirth
This is a slightly revised version of the book published by Addison-Wesley in 1996
ISBN 0-201-40353-6
Zürich, February 2014
http://www.inf.ethz.ch/personal/wirth/CompilerConstruction/CompilerConstruction1.pdf
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Февраль 06, 2014, 06:31:15 pm
Приложений к PO2013 похоже не будет.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Февраль 06, 2014, 06:48:01 pm
Кстати, а все видели обновление сего документа (от 20.11.2013):
http://www.inf.ethz.ch/personal/wirth/Oberon/OberonAtAGlance.pdf

Цитировать
...Case statement for extended types only...
...LONGINT may be synonym to INTEGER
LONGREAL may be synonym to REAL...
и т.д.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Февраль 06, 2014, 07:22:38 pm
Кстати, а все видели обновление сего документа (от 20.11.2013):
http://www.inf.ethz.ch/personal/wirth/Oberon/OberonAtAGlance.pdf

Цитировать
...Case statement for extended types only...
...LONGINT may be synonym to INTEGER
LONGREAL may be synonym to REAL...
и т.д.
Угу.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Февраль 21, 2014, 09:23:14 pm
Oberon V5  :)

http://www.srf.ch/wissen/digital/computer-pionier-niklaus-wirth-80-und-aktiv

(http://www.srf.ch/var/storage/images/auftritte/wissen/bilder/2014/02/18/node_4165642/60349422-1-ger-DE/bild_span12.jpg)

(http://s5.srfcdn.ch/images/auftritte/wissen/bilder/2014/02/18/node_4165650/60349454-1-ger-DE/bild_s8.jpg)

(http://s1.srfcdn.ch/images/auftritte/wissen/bilder/2014/02/18/node_4165654/60349534-1-ger-DE/bild_s8.jpg)

(http://s5.srfcdn.ch/images/auftritte/wissen/bilder/2014/02/18/node_4165646/60349458-1-ger-DE/bild_s8.jpg)

(http://s3.srfcdn.ch/images/auftritte/wissen/bilder/2014/02/18/node_4165658/60349510-1-ger-DE/bild_s8.jpg)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Wlad от Февраль 22, 2014, 11:07:18 am
Oberon V5  :)
Молодец - дядька!
Он ещё на истребителе летает? :)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Февраль 26, 2014, 10:28:21 am
А между тем, тихо и незаметно начал меняться Oberon report (дату в самом репорте там пока не поменяли, но содержимое уже другое).

http://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf

Это будет Oberon report rev. 2014.

PS. Про эти изменения мне подсказал David Evans.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Март 06, 2014, 08:22:21 pm
Цитировать
(Updated 6th March 2014)
http://www.inf.ethz.ch/personal/wirth/
Цитировать
See also projectoberon.com (http://projectoberon.com)
http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Март 06, 2014, 08:49:24 pm
Закоммитил последние изменения: https://github.com/ilovb/ProjectOberon2013/commit/062d1525041ba255549a36672972202f4710d46b
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Март 12, 2014, 06:53:22 am
А между тем, тихо и незаметно начал меняться Oberon report (дату в самом репорте там пока не поменяли, но содержимое уже другое).

http://forum.oberoncore.ru/viewtopic.php?f=115&t=615&p=86480#p86480
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Март 30, 2014, 09:30:46 pm
Появился рабочий эмулятор железяки с Обероном!
Цитировать
Oberon RISC Emulator
http://projectoberon.com/
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Март 31, 2014, 06:46:24 pm
Успешно запустил Оберон на своем Nexus7:
https://lists.inf.ethz.ch/pipermail/oberon/2014/007159.html

Правда без клавы на планшете можно только курсор пальцем перетыкивать :D
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Март 31, 2014, 07:58:00 pm
Скомпилировал первую прогу в Oberon V5 (в эмуляторе):  :)
http://s12.postimg.org/r68az2igd/Oberon_V5.gif
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Valery Solovey от Апрель 01, 2014, 06:05:20 pm
А что нужно сделать, чтобы скомпилить программу?
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Апрель 01, 2014, 08:41:42 pm
1. Открыть модуль.
2. Выделить правой кнопкой мыши первый символ в слове MODULE
3. Средней кнопкой мыши щелкнуть на команде ORP.Compile @

Либо:
1. Открыть модуль.
2. Сделать кнопкой F1 звездочку над модулем
3. Средней кнопкой мыши щелкнуть на команде ORP.Compile ↑

Если у модуля изменился интерфейс (а при первой компиляции это так :) ), то вызывать нужно команду ORP.Compile @ /s.
Иначе компилятор ругаться будет. Т.е. генерация/перегенерация символьного файла делается явно.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Апрель 01, 2014, 08:51:14 pm
Обманул :)
ORP.Compile ↑ - для этой команды нужно выделить имя файла (первую букву) Test.Mod
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Valery Solovey от Апрель 02, 2014, 09:36:43 pm
Спасибо. Меня именно символьный файл интересовал.
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Wlad от Апрель 05, 2014, 01:12:43 pm
Успешно запустил Оберон на своем Nexus7:
https://lists.inf.ethz.ch/pipermail/oberon/2014/007159.html
Правда без клавы на планшете можно только курсор пальцем перетыкивать :D
Да вы, батенька, - молодец!
Название: Re: Project Oberon (New Edition 2013)
Отправлено: Geniepro от Апрель 05, 2014, 04:55:28 pm
Успешно запустил Оберон на своем Nexus7:
https://lists.inf.ethz.ch/pipermail/oberon/2014/007159.html

Правда без клавы на планшете можно только курсор пальцем перетыкивать :D

Так подключите USB-клавиатуру. Только Ctrl-Alt-Del не жмите -- планшет перезагрузится ))
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Апрель 14, 2014, 09:58:28 pm
По странному стечению обстоятельств самая актуальная версия исходников прожекта сейчас на гитхабе. Ибо последние изменения (https://github.com/ilovb/ProjectOberon2013/commit/873fe7ef74a2c41592f9904ad7c3893e4a368d58) на официальной странице пропали.

Кроме того, кому хочется в Oberon V5 управлять курсором с клавы вот маленькая доработка: https://github.com/ilovb/ProjectOberon2013/commit/bf4c27894993cc789b3a02c403838cab12e18c62

Также мелкие изменения в эмуляторе для дисплеев с соотношением сторон (16:9): https://github.com/ilovb/oberon-risc-emu/commit/b22a285b555ac35dec0b1a82d218f75826fdaf6d
Ну и соответствующая правка в Oberon V5: https://github.com/ilovb/ProjectOberon2013/commit/3e3783fee48a697c66df7a716029328cfec45202

Размер дефолтного шрифта в системе можно поменять тут: https://github.com/ilovb/ProjectOberon2013/blob/master/Fonts.Mod#L114
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Апрель 17, 2014, 06:49:28 pm
Project Oberon emulator in JavaScript and Java
http://schierlm.github.io/OberonEmulator/
Название: Re: Project Oberon (New Edition 2013)
Отправлено: ilovb от Май 11, 2014, 08:00:30 am
Цитировать
this might be helpful when porting Oberon-07 'V5' to another FPGA module:
Perlilog is a command-line tool which generates Verilog modules from a set of files, which come in several other formats. It was originally designed to integrate Verilog IP cores. It's released as free software (GPL).

Motivation: Anyone who has needed to integrate a few Verilog modules into something working, knows it's a headache. It's not only a mechanic task, but also a source of bugs. Since Verilog modules' interface is basically wires, the integration task requires an accurate understanding of what each wire stands for, and how it's expected to behave. Having many details to keep track on, it's common that undesidered  ...
http://www.billauer.co.il/perlilog.html
https://lists.inf.ethz.ch/pipermail/oberon/2014/007532.html
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Июль 16, 2014, 12:04:48 pm
На всякий случай для тех кто хочет поднять на fpga Оберон-комп:

Основная проблема со спартаном-3 - у него всего один ps/2 вход, и нет слота для SD-карты на плате. Поэтому нужно спаять плату расширения с еще одним ps/2 и слотом для SD (и, опционально, модулем для беспроводной связи).

Подробные инструкции что как устанавливать, и как паять можно найти тут: http://www.paddedcell.com/projectoberon/S3RISCinstall.zip

Если у вас другая fpga-плата, то с очень большой вероятностью нужно будет менять verilog-исходники. По крайней мере нужно будет переназначить пины для led, переключателей и, вероятно, переделать работу со SRAM. Да, кроме того нужно как минимум мегабайт оного SRAM'a.

Кроме того, повторюсь, обычно на платах довольно дохленькие (в плане частоты) стоят video dac'и, это означает что в высоком разрешении (типа 1024x768) вы видео не заведете (обычно они рассчитаны на 640*480), соответственно нужно будет переделать и VID.v, а также Display.mod и все связанные с разрешением константы.

Да, и если у вас, как у меня, не xilinx, а altera, то верилог-исходники нужно будет портировать - в исходниках используются некоторые нестандартные расширения verilog от xilinx.

Ну и, естественно, вам понадобится ps/2 клава и мышь, а также sd-карточка :-)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Июль 16, 2014, 03:00:10 pm
Просто краткая иллюстрация возможных проблем если у вас не Spartan-3: у меня Terasic DE2-115 (fpga там altera), на этой плате есть SRAM, аж 2 мегабайта (в два раза больше чем нужно), латентность у нее 8 ns, то есть она успевает с запасом. Но.. Но в отличае от Spartan-3, где имеется два array по 512 Кб, и читать писать из каждого нужно по 16 бит, то есть в сумме получаем за такт вычитку 32битного слова - то что надо, а тут у меня, в DE2-115 один array на 2 мегабайта, и ширина шины тоже 16 бит. Соответственно за один клок не вычитать 32 бита, соответственно работу с памятью надо как-то переписывать (возможно работать с ней на удвоенной частоте), чтобы вытаскивать 32 бита за такт процессора.

И я подозреваю что это только вершина айсберга :-)
Название: Re: Project Oberon (New Edition 2013)
Отправлено: valexey_u от Июль 16, 2014, 08:10:30 pm
Кстати, меня глючит, или у Вирта аппаратная реализация PS/2 интерфейса не умеет зажигать/госить светодиоды на клавиатуры (capslock там и так далее)? У меня сложилось впечатление что оно у него только на чтение работает.