ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » Проект "Янтарь" » Янтарь по сравнению с Обероном


Янтарь по сравнению с Обероном

Сообщений 1 страница 29 из 29

1

У Вирта тоже был проект своего компьютера на базе ПЛИС, который к тому же описан в книжке.
Собственно говоря, проект Оберон - это проект компьютера, ОС и компилятора.
Было бы интересно сравнить.

0

2

* виртуальный x86 (сейчас A2 на нём уже работает, т.е. задача в переводе)
* наноПи (A2 вроде бы работает и под ARM, но, возможно, что-то придётся доделать из-за периферии)
* покопаться в сторону ПЛИС, здесь лучше всего начать с проекта Оберон и посмотреть, можно ли дотянуть до 32 бит. 16 разрядов вряд ли в A2 будут содержательны, хотя игрушка получилась бы очень интересной.

Проект Янтарь 32 разрядный.
Кстати нашёл интересную плату у китайцев и за дёшево.
https://aliexpress.ru/item/32499979878. … 3438.pic_8

На плате есть VGA,JTAG,DDR, SD-slot, COM-TTL-USB, EEPROM, Ethernet.
Много памяти и она DDR! Большая плис! Не огромная, и не маленькая как у других.

В теории можно свой ГПУ сделать и маленький ЦПУ.

Из минусов нет USB, хотя на GPIO можно попробовать реализовать.
Документации особо на плату нет.

И вообще новичкам по ПЛИС советуется вначале сделать проект на эмуляторе, а потом уже выбирать плату. Потому что желаний много, а аппаратных возможностей мало. Т.е. покупаешь плату, а потом на ней ничего толком сделать нельзя.

----------------------------------------------

БудДен написал(а):

У Вирта тоже был проект своего компьютера на базе ПЛИС, который к тому же описан в книжке.
Собственно говоря, проект Оберон - это проект компьютера, ОС и компилятора.
Было бы интересно сравнить.

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

0

3

Я в эту сторону ещё не копал. Вот только это вижу:

https://habr.com/ru/post/259755/

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

0

4

По идее, это нужно копать на обероновских форумах и там спрашивать. Попозже это сделаю. Сейчас дали кусок времени, попробую разобраться с печатью массивов.

0

5

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

2015-09-01, Niklaus Wirth, The Design of a RISC Architecture and its Implementation with an FPGA
    https://inf.ethz.ch/personal/wirth/FPGA-relatedWork/RISC.pdf

Отредактировано Лис (2020-01-14 04:23:01)

0

6

Поручаю Лису разобраться с Янтарём :)
В соответствии с моей концепцией, наше - это то, в чём мы способны разобраться. Линукс и Xeon - не наши. У нас есть шанс сделать Оберон нашим. Шансов сделать с нуля что-то даже масштабов Оберона лично у меня нет. Возможно, Лис сможет лапками сделать - буду рад посмотреть на результат.

Вот разработка компьютера с нуля в книжке Вирта:

https://oberoncore.ru/library/wirth_gut … d_compiler

Тоже упоминается FPGA. Но это вторая версия (2013 год)

Вот версия от 2005 года:

At this point, a word about the underlying hardware is perhaps in order. The Ceres workstation had
also been developed at the Institute for Computer Systems of ETH, and it provided an ideal platform
for implanting the Oberon System on a bare machine. It offered the immensely valuable opportunity to
design without regard to established constraints and to avoid compromises enforced by an
incompatible environment.
Ceres-1 was built around a National Semiconductor 32032 microprocessor, which was in 1985 the first
commercially available processor using a 32 bit wide bus. It appeared as particularly attractive to the
compiler builder because of its regular instruction set. The computer was equipped with 2 MBytes of
main memory, a 40 MByte disk, a diskette, a 1024*800 pixel display, and of course with keyboard and
mouse. These resources were more than adequate for the Oberon System.
Ceres-2 was introduced in 1988 and replaced the processor by its faster version, the NS 32532, which
increased its computing power by a factor of at least 5 over its predecessor. Memory was extended to 4
- 8 MByte and the disk to 80 MByte. In order to install the software, "only" a few modules had to be
adapted, the kernel because of different page structure, and device drivers because of different device
addresses.
In 1990, a low-cost version, Ceres-3 was designed, and 100 computers were built and installed in
laboratories. This single-board computer is based on the NS 32GX32 processor without virtual
addressing unit, and includes a 4-8 MByte memory. The distinctive feature is that the file system is
implemented in one (protected) half of memory instead of a disk, increasing operating speed
dramatically. Ceres-3 is free from mechanically moving parts (no fan) and therefore is completely
noiseless. It is primarily used in laboratories for students. The usefulness of a central server for system
file distribution is evident.
Because of its success and flexibility in use, a project was started in 1989 to transport the System to a
number of commercially available workstations. The plan to install it on bare machines, like on Ceres,
was quickly discarded; nobody would even give it a try, if one had to buy another computer or even
only to exchange ROMs in order to experiment with Oberon. The drawback of building on top of an
existing system had to be accepted; it implies the cost of some rarely used software occupying part of
memory, sometimes even occupying a sizeable part. At the time of this writing, implementations exist
on Apple's Macintosh II, Sun Microsystem's Sparc Station, DEC's DECStation 3100 and 5000, and
IBM's RS/6000. These implementations each took about half a man-year of effort. The solution to
build on top of an existing system carries the invaluable advantage that applications designed under the
base system are accessible from Oberon. All these systems comply with their published description in
a user manual [Reiser, 1991], all have exactly the same user interface, and every program operating on
one of these computers can be executed on any of the others without change. Evidently, this is an
important advantage that can only be gained by programming at a higher level of abstraction, such as
in the language Oberon.

Источник: https://pdfs.semanticscholar.org/5458/8 … 1579008875

Отредактировано БудДен (2020-01-14 16:38:37)

0

7

БудДен написал(а):

Поручаю

Заклинание провалено. Природный резист к этой магии у цели.

0

8

Не понял :)

0

9

Янтарь наш, а оберон чужой

Для начала надо разобраться с лицензиями.
Вроде как раньше у Оберона была другая, провалившаяся на рынке, и он перешел в общественное достояние, к которому данное понятие уже неприменимо.
И что значит "наш"? Другие не смогут использовать?

Отредактировано MihalNik (2020-01-14 18:09:28)

0

10

MihalNik написал(а):

Для начала надо разобраться с лицензиями.

Лицензия: WTFPL

Эта информация приводится на наших форумах третий раз.

Отредактировано Лис (2020-01-14 21:50:25)

0

11

БудДен
Вот видите сравнивать несчем. Вирт спаял свой компьютер на основе процессора NS 32GX32 processor американской фирмы National Semiconductor.
Причём именно спаял, а не разработал. Компьютер вещь простая берём процессор который нравится. Процессор определяет какая шина у нас будет. Далее ставится контроллёр шины от фирмы которая разработала процессор и ставится память рекомендованная разработчиком процессора так как другие у вас просто неподайдут. Далее вы берёте образец дизайна платы у разработчика процессора добавляете свои компоненты.  Тут как правило выбора особо нет смотрим что нам подходит по напряжению к процессору.  И выбираем что дешевле. Затем на плату ставится генератор частот который рекомендован производителем процессора. Либо если не генератор то просто кварц по стабильнее. Ставится стабилизатор питания который включает процессор, в 85 году тот который разработал разработчик процессора. Либо из конденсатора резистера и и транзистора делаете реле задержки времени.
Ах да ещё ставится пара микросхем регистров/диодов для управления переферией.
Эти можно брать любые главное совместимые по напряжению с процессором.

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

Далее корпус и блок питания. Клавиатура. Вот с видеокартой тяжело. Там либо свою плату делать либо брать готовый чип желательно от тех кто разработал процессор. Собственно берётся известная схема и только сопрягается с шиной нашей материнской платы.

Как вы понимаете всё делается из готовых блоков и по известным схемам. Вы разве что меняете колличество ком портов и размер ОЗУ.

При этом у Вирта есть лабаратория и студенты. 
Что тут можно сказать ещё? В те годы только ленивый не паял спектрумы.  Тут лишь разница нестандартный процессор и схему платы перерисовал на свой лад.

0

12

Что-бы сделать свой компьютер нужно прочитать 3 книги и посмотреть 1 видос.
Для тех кому трудно читать на английском может выбрать между IBM PC и Агатом.

1. П. Хоровиц, У. Хилл. «Искусство схемотехники» 1980
2. Дж.Коффрон Технические средства микропюцессорных систем практический курс  1983
3. 1502494 PC AT Technical Reference Mar 1984
4. Конструкция, применение и программирование ПЭВМ "Агат", Мымрин Михаил Павлович, Москва: Машиностроение, 1990 г
5. https://www.youtube.com/watch?v=8rWCYo1UcOQ

0

13

БудДен
Что касается процессоров то у Вирта он не очень получился. Мне больше нравится neo430
https://opencores.org/projects/neo430

Оптимизирован по размеру для ПЛИС. Но 16 разрядный. Переделать на 32 бита можно но у меня очень малькая ПЛИС.

Второй особенностью всех трёх процессоров Янтарь, НЕО430, Virt-RISC является отсутствие конвейерной обработки.

НЕО430 одна инструкция занимает от 6 до 17 тактов. А ещё так как в качестве регистровог офайла у НЕО430 используется асинхронная память то скорость ПЛИС падает в 2 раза. Так что максимальная частота 200 МГц, а реальная 100 МГц. А скорость обработки около 12 Опс. 

Особенностью Янтаря является поддержка MMU, когда ни НЕО430, Virt-RISC ими не обладают.
У НЕО430 ограничены сегменты кода и данных и они не пересекаются.

MMU - это первый шаг к защищенному режиму. Возможно автор Янтаря уже сделал и его поддержку.

НЕО430 - особенность быстрая обработка прерываний и компактный код переферии единицы регистров против Virt-RISC у которого десятки сотни.

0

14

Честно сказать, я половину слов не понимаю в том, что Вы пишете. Я так понял, что Вы - за Янтарь скорее?

0

15

В 16-разрядности есть свой шарм. Если мы делаем что-то для обучения и проч, то чем проще компьютер, тем притягательнее его магия. Я вчера пытался понять, почему по линии МК-52/бк-0010/i386/pentium мой интерес к программированию падал. Возможно, дело в возрасте, но, может быть, и нет.

0

16

В целом же, поскольку A2 уже портирован на ряд архитектур, я не думаю, что его будет принципиально сложно портировать на новую 32-разрядную архитектуру. Насчёт 16-разрядной я не так уверен - она может не поместиться.

0

17

БудДен написал(а):

почему по линии МК-52/бк-0010/i386/pentium мой интерес к программированию падал.

Возьмем AVR - контроллёр. Появились они позже но не суть за 5 лет фирма сумела создать библиотеку для МК которая покрывает все необходимые функции. Там реально всего 3 десятка функций. Т.е. весь МК-52 можно освоить за 10 дней без перерывов. С перерывами пару месяцев.
БК-0010 был очень ограниченным, причем даже наверно более ограниченным чем МК-52. Разве что умел пищать и выводить на экран. Но сейчас даже на ардуино на экран выводят данные., но все ограничивается текстовым режимом. Те печатной машинкой.
Игрушки на Спектруме были ого-го какие не чета тем что на БК-0010. Так что это технические ограничения платформы.

Вот i386 и Pentium это другое дело и есть где развернуться. Проблема в другом у меня не было доступа к литературе и учитель не мог научить. Сейчас уже все знания есть. 
Если на PI приходилось всё изобретать с из ново садовая начиная от функции вывода пикселя вывода линии потом треугольника затем текстуры. То сейчас так уже не нужно изобретать ты берёшь учебник и делаешь по нему.

Помню в 2000 годах покупали рекламные диски там Веб пару спец эффектов в виде молний и раскаты грома как в охотниках за приведениями. Когда недавно посмотрел фильм и видишь такие спец эффекты у себя на компьютер да ещё в исходном коде хтмл. Это завораживает.

---------------------------------------

БудДен написал(а):

Честно сказать, я половину слов не понимаю в том, что Вы пишете. Я так понял, что Вы - за Янтарь скорее?

В целом я за Янтарь. Там есть компилятор, есть отладка или её зачатки. Есть документация. Есть системная библиотека для вывода данных. Есть тесты.

ОС-Оберон без графического вывода на экран не имеет смысла. Для этого нужна память и автомат вывода. Можно взять то как сделано на сайте Марсоход.
Нужна клавиатура. Для клавиатуры нужен опрос. Это X86 с его 8042 который делает опрос за вас.

Для клавиатуры проще всего доработать ОС-оберон. Либо делать 2 ядра. Я бы 16 битный НЕО430 на эти цели бы пустил.

Но на 2 ядра в мой ПЛИС места уже не хватит очень маленькая она. Поэтому для меня этот путь закрыт.

Вторая проблема частота работы процессора. Янтарь довольно медленный. 1 М операций в секунду или что-то около того.
Это все равно что на 8080 делать вывод графики. На разрешении 800х600 оно будет тормозить только из-за того что процессор не будет успевать выводить на экран.

Поэтому тут надо думать как поднять скорость обработки. В принципе НЕО430  можно переделать на 32 бита. И сделать его конвейерным.  Тогда можно будет получить нормальный процессор который графику сможет переварить.

Не простое это занятие делать свой процессор.

0

18

Мне казалось, что на ОС Оберон есть вывод графики, но A2 - это не ОС оберон.
Сколько стоит Ваша ПЛИС и сколько стоит достаточная для вывода графики 800х600 и 32-бит?

0

19

БудДен написал(а):

графики 800х600 и 32-бит?

Несколько лет назад мы вошли в эпоху HiDPI-мониторов, минимальное приемлемое разрешение - 1920x1080 (лучше на x1200),
но и это уже устаревает.
Новые мониторы идут с более высокими разрешениями, просто 1920 - это стандарт телевидения высокой чёткости (FullHD, разработан в 2007-м году), и его хватит в качестве минимального ещё на несколько лет.

800х600 - это определённо недостаточное (неконкурентоспособное) разрешение в современных условиях.
(Для "рабочих мест", десктопов.)

Отредактировано Лис (2020-01-16 01:52:21)

0

20

Лис
Есть порядок разработки и его нельзя нарушать.. Мы не Интел и не АМД разработка сверху вниз это не для нас. Железо разрабатывается снизу в верх.

Вначале надо сделать минимально рабочий прототип.

А вот потом делается параматризированная модель. Правда для видео для разных разрешений по разному ход луча описывается. Так что тут табличкой придётся делать.

БудДен
Компиляции Янторя 3-4 минуты. В мою ПЛИС это не умещается. В 2 раза по размеру можно сжать но для этого надо переписать код. А так как компилятор это чёрный ящик. Вернее серый то это по быстрому сделать не получается  Но в целом я считаю что там немного дорабатывать .

0

21

Есть более и менее важные технические требования.

Минимальный прототип должен реализовывать наиболее важные требования.

Требование разрешения - это важное требование.

А наличие 3D ускорения - это неважное требование.

Я считаю, что надо делать сразу под нужное разрешение, а если делать под 800x600 - это только время зря терять.

0

22

Павиа, так какая у Вас ПЛИС, сколько она стоит и сколько стоит достаточная? Лис, на 1920х1080 нужно больше денег. Дашь денег Павиа?

0

23

Янтарь, с сайта разработчика:

Зачем это нужно?
Этот проект имеет исключительно развлекательные и самообразовательные цели.

0

24

БудДен
У меня комплект openep4ce6  на основе Cyclone IV EP4CE6.
https://www.waveshare.com/product/fpga- … kage-b.htm
У ней всего 6 тысяч LUT.  Цена плис 30$ плюс цена комплектующих 100$

У Китайца комплект E115
https://aliexpress.ru/item/32499979878. … 3438.pic_8
Плата на основе ПЛИС
Cyclone IV EP4CE115F23I7N цена набора 97$

Тут 115 тысяч LUT. Т.е она 19 раз больше моей.

Янтарь разрабатывался под плату Altera DE0   на основе Cyclone III 3C16 FPGA
https://www.terasic.com.tw/cgi-bin/page … amp;No=364
У ней всего 15 тысяч LUT. Цена  набора 119$

Для видео 1920х1080  нужен клок около 136 Мгц.  SDRAM работает на 100 Мгц. Тут можем не вписаться, поэтому проще понизить разрешение, а потом думать как и что.

Видео 1920х1080 упирается в размер памяти 12 мб должно хватить. В моем наборе SRAM на 16 МБайт. Насколько она быстрая не знаю.  В плис обычно размер памяти в битах указывают, а не байтах.

openep4ce6   - SDRAM 16 МБайт (шина 16)
DE0 Board  - SDRAM 8 МБайт (шина 16)
В E115 память  - DDR2 SODIMM 1 ГБайт (шина 64 бит)

К Китайцу основная претензия нет документации, это большая проблема. Так как иначе получается кот в мешке.

Отредактировано Павиа (2020-01-17 09:55:22)

0

25

Вообще я хотел WUXGA - 1920x1200. Он такой же (по ширине), только ему частота ещё выше нужна.
В другом топике я приводил частоты (там около 193.16 MHz)

Павиа написал(а):

SDRAM работает на 100 Мгц

Ну можно же их несколько штук поставить и считывать параллельно?

1920 пикселов-в-ширину *1200 пикселов-в-высоту * 4 байта / ( пиксель-в-ширину * пиксель-в-высоту ) = 9 216 000 байт

Отредактировано Лис (2020-01-17 10:45:13)

0

26

Лис
Дык двойная буферизация нужна, иначе будет моргать.

0

27

Понял всё, не нужно 1920х1080, цены конечно могли бы быть и поменьше. Но терпимо.

0

28

Но если уж мы так разогнались фантизировать, можно ли взять CPU байкал и к нему самопальную видеокарту на FPGA?

0

29

Теоретически да. Берём pci/pcie карту у терасика  баксов за 200-250. Дорабатываем примеры пишем драйвер для Линукса. Только тут нужно 2 разных человека.

0


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » Проект "Янтарь" » Янтарь по сравнению с Обероном