OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 23 Октябрь, 2017 16:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
 Заголовок сообщения: Project Oberon (New Edition 2013)
СообщениеДобавлено: Суббота, 30 Ноябрь, 2013 18:31 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Project Oberon (New Edition 2013)

Цитата:
Preface to the 2013 edition
Comments about plans to prepare a second edition to this book varied widely. Some felt that this
book is outdated, that nobody is interested in a system of this kind any longer. "Why bother"?
Others felt that there is an urgentneed for this type of text, which explains an entire system in detail
rather than merely proposing strategies and approaches. "By all means"!.
Very much has changed in these last 30 years.But even without this change, it would be
preposterous to propose and construct a system competing with existing, worldwide "standards".
Indeed, very few people would be interested in using it. The community at large seems to be stuck
with these gigantic software systems, and helpless against their complexity, their peculiarities, and
their occasional unreliability.
But surely new systems will emerge,perhaps for different, limited purposes, allowing for smaller
systems. One wonders where their designers will study and learn their trade. There is little technical
literature, and my conclusion is that understanding is generally gained by doing, that is, "on the
job". However, this is a tedious and suboptimal way to learn. Whereas sciences are governed by
principles and laws to be learned and understood,in engineering experience and practice are
indispensable. Does Computer Science teach laws that hold for (almost) ever? More than any other
field of engineering, it would be predestined to be based on rigorous mathematical principles. Yet,
its core hardly is. Instead, one must rely on experience, that is, on studying sound examples.
The main purpose of and the driving force behind thisproject is to provide a single book that serves
as an example of a system that exists, is in actual use, and is explained in all detail. This task drove
home the insight that it is hard to design a powerful and reliablesystem, but even much harder to
make it so simple and clear that it can be studied and fully understood. Above everything else, it
requires a stern concentration on what is essential, and the will to leave out the rest, all the popular
"bells and whistles".
Recently, a growing number of people has become interested in designing new, smaller systems.
The vast complexity of popular operating systems makes them not only obscure, but also provides
opportunities for "back doors". They allow externalagents to introduce spies and devils unnoticed
by the user, making the system attackable and corruptible. The only safe remedy is to build a safe
system anew from scratch.
Turning now to a practical aspect: The largest chapter of the 1992 edition of this book dealt with the
compiler translating Oberon programs into code for the NS32032 processor. This processor is now
neither available nor is its architecture recommendable. Instead of writing a new compiler for some
other commercially available architecture, I decided to design my own in order to extend the desire
for simplicity and regularity to the hardware. The ultimate benefit of this decision is not only that the
software, but also the hardware of the Oberon System is described completely and rigorously. The
hardware modules are decribed exclusively in the language Verilog.
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.
The decision to develop our own processor required that the chapters on the compiler and the
linking loader had to be completely rewritten. However, it also provided the welcome chance to
improve their clarity considerably. The new processor indeed allowed to simplify and straighten out
the entire compiler.
For a description of a system to be comprehensible,the key element is the notation, formalism, or
language in which it is defined. Algol 60, published 50 years ago, was proposed as a publication
language, as a formalism in which algorithms could be defined without reference to particular
computers, or to any mechanism at all. This was a great goal, but so far it was hardly achieved.
Yet, it emphasized the importance of abstractionto be achieved by a notation with a mathematically
rigorous foundation. At least, Algol was the first language based on a formally defined syntax. Algol
was the result of the early recognition that programs must never be written just to feed computers,
but always to be understood and to be instructive to people.
In all my past work, I have tried to design a successor to Algol, that improves its rigor and at the
same time extends its applicability from numerical algorithms to software systems. From a long
sequence, starting with Algol, through Pascal, Modula, and Oberon, we have come closer to this
goal than ever before, and closer than any other language in existence. The key lay in a continued
struggle for sensible simplification.
The Oberon language, defined in 1988, underwent a revision in 2007, mostly discarding features
that were either duplications or not essential. Adaptation of the system's source code to the revised
language was, besides the change of processor, the second important reason for numerous, local
changes in this text. We summarize the various deletions of features:
1. The data types LONGINT, SHORTINT, and LONGREAL have been discarded, and with them the
concept of type inclusion.
2. The LOOP and EXIT statements (repetitions withmultiple exit points) have been discarded.
3. The WITH statement (regional type guard) has been discarded.
3. The RETURN statement has been discarded and isnow syntactically merged with the ending of
function procedure declarations.
4. Objects declared in a procedure Pare not accessible within a procedure Qthat is itself local to P.
That is, objects must be either strictly local or global in order to be accessible.
5. Assignments to imported variables are not permitted (read-only export).
6. Forward procedure declarations have been discarded.
In contrast to these removals, there is a single addition (made in 2012): The data type BYTE has
been added. Its values are integers xsatisfying 0 ≤x < 256. This addition prevents the frequent
abuse of the type CHAR. The type BYTE is mainly used for elements of arrays and records in lowlevel modules in order to economise the use of memory.
In spite of these two reasons for changes -- one at the highest level, the language, the other at the
lowest, the hardware -- the remainder of the book proved to be pretty stable and still valid. It has
been my desire to present the system essentially as it existed 25 years ago, without
embellishments. The chapters 3 - 5 on tasking, the display and the text, originally written by J.
Gutknecht, have been carried over virtually unchanged. Significant changes, however, were
necessry mainly in the descriptions of device drivers for keyboard and mouse. They now use the
PS-2 interface standard. The disk has been replaced by a single SD-card (flash memory) with a
standard SPI interface. The interface to the net no longer uses the RS-485 interface, but is also
based on the SPI standard. The chapters on the compiler and the linker are completely new.
Mostly thanks to the regularity of the RISC instruction set, the size of the compiler could be reduced
significantly. It now measures less than 2900 lines of program and compiles itself in about 3
seconds, which is proof of its efficiency. The entire system compiles itself in less than 10 seconds.
Considered extravagant and hardly necessary only years ago, run-time checks are generated
automatically. In particular, they cover index range checks and access to NIL-pointers. Due to their
efficiency they hardly affect run-time speed, but are a great benefit to programmers.
A welcome consequence of the simplifications of language and processor is the fact that all parts
that had been written in assembler code in 1992 -- and therefore were not included in the book --
have now been expressed in Oberon as well. Vindicating my perennial efforts to obtain a high-level
language which is powerful and flexible, and also efficient enough to express parts such as device
drivers and raster operations, this was the necessary and final step to make this book
comprehensive and complete.
Acknowledgements
to be written
Niklaus Wirth, September 2013


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Суббота, 30 Ноябрь, 2013 19:48 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 2846
Откуда: Астрахань
Супер!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Суббота, 30 Ноябрь, 2013 21:35 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Чтобы не дублировать сообщения тут и там, оставлю ссылку: http://oberspace.dyndns.org/index.php/topic,597.0.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Суббота, 30 Ноябрь, 2013 22:38 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 477
Откуда: Киев
В частности, интересен этот пункт изменений в языке
Цитата:
Objects declared in a procedure P are not accessible within a procedure Q that is itself local to P. That is, objects must be either strictly local or global in order to be accessible

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 09:43 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Похоже, то, что Игнат представляет: viewtopic.php?p=79640#p79640 Вирт сделал?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 15:26 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2178
Откуда: Нижний Новгород
Владислав Жаринов писал(а):
Похоже, то, что Игнат представляет: viewtopic.php?p=79640#p79640 Вирт сделал?..

Нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Понедельник, 17 Февраль, 2014 15:49 

Зарегистрирован: Среда, 26 Апрель, 2006 15:10
Сообщения: 18
Существует две версии платы Xilinx Spartan-3 FPGA: на 200k и 1000k gates.

Подскажите, чем они отличаются (что даёт большее количество вентилей?) и какую из них можно использовать при изучении книги Project Oberon редакции 2013 года?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Понедельник, 17 Февраль, 2014 20:34 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4404
Откуда: Россия, Орёл
Halega писал(а):
и какую из них можно использовать при изучении книги Project Oberon редакции 2013 года?
я бы покупал ту, которая "This board, Xilinx Spartan-3 by Digilent, features a 1-MByte static memory ..." (http://www.digilentinc.com/Products/Det ... od=S3BOARD ; оф. представитель в России http://www.terraelectronica.ru/catalog_ ... ODE=212191).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Понедельник, 17 Февраль, 2014 21:34 

Зарегистрирован: Среда, 26 Апрель, 2006 15:10
Сообщения: 18
Евгений Темиргалеев писал(а):
я бы покупал ту, которая "This board, Xilinx Spartan-3 by Digilent, features a 1-MByte static memory ..." (http://www.digilentinc.com/Products/Det ... od=S3BOARD ; оф. представитель в России http://www.terraelectronica.ru/catalog_ ... ODE=212191).


Если нажать "Add to cart", перейдя по ссылке на сайт Digilentinc, нужно выбрать одну из двух версий: Spartan-3, 200K gates за $149 или Spartan-3, 1000K gates за $199. Кроме количества вентилей все остальные характеристики у них одинаковые.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Понедельник, 17 Февраль, 2014 21:53 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 427
Откуда: Егорьевск
Да любая наверное подойдёт, схема-то не сложная.

А вообще даже не обязательно Spartan-3, можно и для FPGA следущих поколений схему переписать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Воскресенье, 30 Март, 2014 23:32 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Цитата:
Появился рабочий эмулятор железяки с Обероном!
Oberon RISC Emulator
http://projectoberon.com/

http://oberspace.dyndns.org/index.php/t ... l#msg20702


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Понедельник, 31 Март, 2014 07:59 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
Да в общем-то, все кому это нужно, в курсе. И обсуждения идут, правда вне форума. Так как здесь никто пока не интересовался, то и тема не поднималась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Проект Оберон"
СообщениеДобавлено: Вторник, 06 Май, 2014 12:11 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
На всякий случай если кто не в курсе:
В Oberon V5 можно теперь играть онлайн
http://schierlm.github.io/OberonEmulator/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Среда, 21 Май, 2014 11:04 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4404
Откуда: Россия, Орёл
Выделена тема "Po - Project Oberon @ BlackBox" (viewtopic.php?t=5127)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Понедельник, 16 Июнь, 2014 21:45 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7681
Откуда: Троицк, Москва
Был сегодня в Библио-Глобусе (это где проходит четверть продаж всей комп. литературы по Москве).

"Проект Оберон" идёт у них как "выбор читателей".
На фоне всех книг с крупным С++ на обложке, которые НЕ идут как "выбор читателей" -- приятно.

"Алгоритмы..." снова распроданы. Чётто тут неправильно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Понедельник, 16 Июнь, 2014 22:04 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 2846
Откуда: Астрахань
Info21 писал(а):
"Алгоритмы..." снова распроданы. Чётто тут неправильно.

В каком смысле?
Распроданы - хорошо. Значит, книжка нужная, еще напечатают... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Вторник, 17 Июнь, 2014 06:44 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7681
Откуда: Троицк, Москва
В том смысле, что должно всё время быть в наличии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Суббота, 09 Август, 2014 10:34 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Товарищи, если кто не шарит как я и надумает покупать плату DL-S3BOARD, то обязательно спрашивайте комплектацию у продавца. Смотрите чтобы в комплекте был провод JTAG. Отдельно он стоит около 3000 рублей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Воскресенье, 22 Ноябрь, 2015 22:10 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1427
Вирт опубликовал маленький мануал по использованию Oberon V5: https://www.inf.ethz.ch/personal/wirth/ ... Oberon.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Project Oberon (New Edition 2013)
СообщениеДобавлено: Пятница, 13 Май, 2016 04:24 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1922
Откуда: Красноярск
А вот эмулятор Peter De Wachter, выложенный на GitHub.
https://github.com/pdewacht/oberon-risc-emu

Проверил, на линуксе нормально компилируется и запускается.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB