OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 05 Декабрь, 2019 22:26

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




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Свойства процессора для Оберона
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 14:04 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
Предлагаю пофантазировать над возможными свойствами процессора, который бы оптимально поддерживал Обероно-подобные языки.
В частности, можно ответить на вопросы:
1. Нужно ли подстравивать под Оберон или сам Оберон, во многом, и есть подстройка под существующий тип архитектур?
2. Должен процессор быть упрощённым или, наоборот, развитым, например, позволяющими поддержать целостность модулей на аппаратном уровне?
3. Какие инструкции должен содержать?
4. Какие требования к транслятору и операционной системе должен предъявлять?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 14:31 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3121
Откуда: Астрахань
Да просто надо сделать Оберон сначала на Эльбрусе.
Трудности и проблемы разработки покажут, насколько специализирована должна быть специализированная архитектура.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 15:03 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
Просто сделать на Эльбрусе непросто из-за политики компании. Например, мне на письмо не ответили даже с банальным нет, несмотря на то, что адреса давал сотрудник компании, ведущий личный youtube канал, посвящённый Эльбрусам.
Но даже написанный транслятор для Эльбруса мало что скажет, ведь это раскрывает задачу лишь с одной стороны.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 15:57 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3121
Откуда: Астрахань
Без опыта конкретной разработки фантазировать о специализации - это ни о чем.
Опыт показывает, что программисты обычно никогда не знают, какие 20% программы делают 80% работы.
Только конкретные измерения это показывают.
Так что без реализации - никак.
Кто писал конкретные компиляторы на существующей архитектуре, тот может свой опыт проанализировать и обобщить.
И это было бы интересно почитать: в каком месте архитектура компьютера ставила ему подножки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 16:59 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
Валерий Лаптев писал(а):
И это было бы интересно
Так интересно или пофигу?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 18:31 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3121
Откуда: Астрахань
А где опыт? Там только имя упоминается. Имя я и так слыхал.
А где опыт?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 18:34 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
Одно дело попросить поделиться опытом, включая нужные ссылки, другое дело - послать.
К слову, я бы и сам голым выводам Алексея Недори не доверял. Уровень осмысления, который он излагает в своём блоге - http://алексейнедоря.рф/, который, безусловно, можно порекомендовать, на мой взгляд, местами хромает. А уточнить у него довольно сложно, потому что он закрыт для диалога.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 18:59 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9161
Откуда: Россия, Орёл
2Comdiv:

А Вы с проектом "Самсон" Терехова знакомы? Диссертация по нему даже есть 80-х, если не нагуглите - поищу у себя.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 19:01 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
Нет, только поверхностные статьи читал. Эта диссертация?


Последний раз редактировалось Comdiv Вторник, 01 Октябрь, 2019 19:03, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 19:01 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9161
Откуда: Россия, Орёл
С политикой "Эльбрусов" да, грусть-печаль.

У меня однокашник - владелец компании, создавшей очень серьёзную промышленную ERP. Внедряется на оборонных заводах и много где. Показывает мне на чемодан под столом: "Вот Эльбрус. Показать никому не могу. NSD. Мы Elbrus-ready, но указать это для своего продукта я не имею права, хотя деньги вбухал в адаптацию. А они вот могут мой продукт при желании указать, как доступный для их платформы".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 19:02 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9161
Откуда: Россия, Орёл
Comdiv писал(а):
Нет, только поверхностные статьи читал.


https://math.spbu.ru/user/ant/Terekhov_Doct_thesis.pdf


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Октябрь, 2019 19:39 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3121
Откуда: Астрахань
Я читал. Знаю, что архитектурой заинтересовались военные и сделали Самсон в железе.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 03 Октябрь, 2019 08:55 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1133
Откуда: СССР v2.0 rc 1
0) Комдив радует безмерно. Об идеи создании Оберон-процессора разговаривали с Денисом в прошлом году (был проездом в Москве после Дня Оберона). Я тогда много чего наговорил))
1) Повторю свою концепцию первородного греха языка программирования: процессор должен быть продолжением языка, а не язык -- надстройкой над процессором (строго говоря, я подтащил это у Вирта).
2) Должно быть две реализации проца (базовые): совсем простая (для совсем маленьких приложений, 80% потребностей) и широкопрофильная (для покрытия 95...97% потребностей). В любом случае широкопрофильный процессор должен оставаться простым, чтобы при необходимости наклепать хоть 256 ядер.
3) Инструкции для регистров внутри ядра -- вполне стандартные. Битовые, сравнение, перемещение, базовые математические операции. Как показывает практика -- не надо много регистров, нужна независимость исполнения инструкций внутри регистров. Думаю, 4 штуки должно хватить всем (с). Что касается работы с памятью -- то явно загрузка/выгрузка, косвенная адресация через параметры команд и индексная адресация по примеру Z80 (регистры HL, IX, IY) -- очень удобно для обработки массивов значений. Кроме того, обязательно нужно использовать модульную сегментацию (в интелях это сделано черезчур муторно двумя способами, что ещё со страничным механизмом ну просто источник попоболи). Модули, разумеется должны поддерживать секции интерфейсов (для релоктабельности), секции кода, секции неизменяемых данных, секции изменяемых данных, и (скорей всего), потребуются секции разделяемых данных). Также на аппаратном уровне я бы заложился под типизацию. Знаю, типизацию переваривает компилятор на этапе компиляции, но! Если код получен из ненадёжного источника -- доверять ему нельзя. Поэтому, в таком случае типизация будет очень кстати. Кроме того, контролируя импорт модуля SYSTEM -- можно предупреждать пользователя об опасном модуле (и при необходимости запоминать ответ пользователя на уровне ОС). Независимые стеки -- само собой + думаю будет полезным иметь аппаратный стек, скажем на 16 слов (фактически эрзац-кэш). Флаги обычные + например, текущая глубина вызова (возможно при каждом вызове -- своё значение, т. е. по сути организация аппаратного контекста -- полезно для организации аппаратной защиты в духе обнуление/переполнение стека, нарушение границ сегментов и всё такое).
3а) Должна быть поддержка множества уровней привилегии на уровне проца. Скажем, одного регистра хватит всем (с). Это позволит создавать уровень супервизора, использовать несколько операционных систем одновременно, разделять безопасно пользователей и их (или системные) процессы.
4) Транслятор должен: работать в режиме с привелегиями (признак -- импорт SYSTEM), должен позволять строить AST (и подписывать его при необходимости) или выдавать готовый бинарник (и также подписывать при необходимости). AST без подписи можно будет при недоверии к источнику трассировать в режиме интерпретатора, а если код явно безобидный -- динамически компилировать на целевой машине со всеми доступными оптимизациями (по сути, современная Java или .Net, WebAssembly). А всё остальное уже тысячу раз обговорено, и вытекает из необходимости строить AST, тут уже не интересно.

Прочитал 690 страниц из 1684 "Архитектура компьютеров". Задания не выполняю, лень. Но кое-что новое таки действительно получил.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 03 Октябрь, 2019 09:06 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3121
Откуда: Астрахань
prospero78 писал(а):
Прочитал 690 страниц из 1684 "Архитектура компьютеров". Задания не выполняю, лень. Но кое-что новое таки действительно получил.

Кто автор?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 03 Октябрь, 2019 09:37 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 700
Откуда: Псков
prospero78 скорее всего неполное название книги "Цифровая схемотехника и архитектура компьютера" указал.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 03 Октябрь, 2019 12:40 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1133
Откуда: СССР v2.0 rc 1
Да. Хэррис и Хэррис. Редакция 2016 года.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 03 Октябрь, 2019 14:13 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
prospero78 писал(а):
0) Комдив радует безмерно.
Я всего лишь предложил более предметно обсудить тему, возникшую здесь


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 05 Октябрь, 2019 20:56 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 365
Цитата:
...не надо много регистров, нужна независимость исполнения инструкций внутри регистров. Думаю, 4 штуки должно хватить всем (с)...

Ага, 3 разА... ;-) Сначала аккумулятор (A), потом к нему дополнительный (B) и начинается "жонглирование".
Веселее, всё ж, с 16-ю РОНами (ARM), а с 32-мя (AVR, вот бы без ограничения 8-битности) вообще песня...

PS: Гейтса за 640k в аду вторично будут жарить без масла...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 06 Октябрь, 2019 08:36 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1207
А потом придумывай схемы оптимального распределения регистров. Не надо регистров, регистры - атавизм.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 06 Октябрь, 2019 12:30 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 971
Откуда: Киев
А что не атавизм? Стек?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

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


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

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


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

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