OberonCore https://forum.oberoncore.ru/ |
|
Свойства процессора для Оберона https://forum.oberoncore.ru/viewtopic.php?f=6&t=6438 |
Страница 1 из 2 |
Автор: | Comdiv [ Вторник, 01 Октябрь, 2019 14:04 ] |
Заголовок сообщения: | Свойства процессора для Оберона |
Предлагаю пофантазировать над возможными свойствами процессора, который бы оптимально поддерживал Обероно-подобные языки. В частности, можно ответить на вопросы: 1. Нужно ли подстравивать под Оберон или сам Оберон, во многом, и есть подстройка под существующий тип архитектур? 2. Должен процессор быть упрощённым или, наоборот, развитым, например, позволяющими поддержать целостность модулей на аппаратном уровне? 3. Какие инструкции должен содержать? 4. Какие требования к транслятору и операционной системе должен предъявлять? |
Автор: | Валерий Лаптев [ Вторник, 01 Октябрь, 2019 14:31 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Да просто надо сделать Оберон сначала на Эльбрусе. Трудности и проблемы разработки покажут, насколько специализирована должна быть специализированная архитектура. |
Автор: | Comdiv [ Вторник, 01 Октябрь, 2019 15:03 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Просто сделать на Эльбрусе непросто из-за политики компании. Например, мне на письмо не ответили даже с банальным нет, несмотря на то, что адреса давал сотрудник компании, ведущий личный youtube канал, посвящённый Эльбрусам. Но даже написанный транслятор для Эльбруса мало что скажет, ведь это раскрывает задачу лишь с одной стороны. |
Автор: | Валерий Лаптев [ Вторник, 01 Октябрь, 2019 15:57 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Без опыта конкретной разработки фантазировать о специализации - это ни о чем. Опыт показывает, что программисты обычно никогда не знают, какие 20% программы делают 80% работы. Только конкретные измерения это показывают. Так что без реализации - никак. Кто писал конкретные компиляторы на существующей архитектуре, тот может свой опыт проанализировать и обобщить. И это было бы интересно почитать: в каком месте архитектура компьютера ставила ему подножки. |
Автор: | Comdiv [ Вторник, 01 Октябрь, 2019 16:59 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Валерий Лаптев писал(а): И это было бы интересно Так интересно или пофигу?
|
Автор: | Валерий Лаптев [ Вторник, 01 Октябрь, 2019 18:31 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
А где опыт? Там только имя упоминается. Имя я и так слыхал. А где опыт? |
Автор: | Comdiv [ Вторник, 01 Октябрь, 2019 18:34 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Одно дело попросить поделиться опытом, включая нужные ссылки, другое дело - послать. К слову, я бы и сам голым выводам Алексея Недори не доверял. Уровень осмысления, который он излагает в своём блоге - http://алексейнедоря.рф/, который, безусловно, можно порекомендовать, на мой взгляд, местами хромает. А уточнить у него довольно сложно, потому что он закрыт для диалога. |
Автор: | Илья Ермаков [ Вторник, 01 Октябрь, 2019 18:59 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
2Comdiv: А Вы с проектом "Самсон" Терехова знакомы? Диссертация по нему даже есть 80-х, если не нагуглите - поищу у себя. |
Автор: | Comdiv [ Вторник, 01 Октябрь, 2019 19:01 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Нет, только поверхностные статьи читал. Эта диссертация? |
Автор: | Илья Ермаков [ Вторник, 01 Октябрь, 2019 19:01 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
С политикой "Эльбрусов" да, грусть-печаль. У меня однокашник - владелец компании, создавшей очень серьёзную промышленную ERP. Внедряется на оборонных заводах и много где. Показывает мне на чемодан под столом: "Вот Эльбрус. Показать никому не могу. NSD. Мы Elbrus-ready, но указать это для своего продукта я не имею права, хотя деньги вбухал в адаптацию. А они вот могут мой продукт при желании указать, как доступный для их платформы". |
Автор: | Илья Ермаков [ Вторник, 01 Октябрь, 2019 19:02 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Comdiv писал(а): Нет, только поверхностные статьи читал. https://math.spbu.ru/user/ant/Terekhov_Doct_thesis.pdf |
Автор: | Валерий Лаптев [ Вторник, 01 Октябрь, 2019 19:39 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Я читал. Знаю, что архитектурой заинтересовались военные и сделали Самсон в железе. |
Автор: | prospero78 [ Четверг, 03 Октябрь, 2019 08:55 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
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 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
prospero78 писал(а): Прочитал 690 страниц из 1684 "Архитектура компьютеров". Задания не выполняю, лень. Но кое-что новое таки действительно получил. Кто автор? |
Автор: | albobin [ Четверг, 03 Октябрь, 2019 09:37 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
prospero78 скорее всего неполное название книги "Цифровая схемотехника и архитектура компьютера" указал. |
Автор: | prospero78 [ Четверг, 03 Октябрь, 2019 12:40 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Да. Хэррис и Хэррис. Редакция 2016 года. |
Автор: | Comdiv [ Четверг, 03 Октябрь, 2019 14:13 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
prospero78 писал(а): 0) Комдив радует безмерно. Я всего лишь предложил более предметно обсудить тему, возникшую здесь
|
Автор: | Artyemov [ Суббота, 05 Октябрь, 2019 20:56 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
Цитата: ...не надо много регистров, нужна независимость исполнения инструкций внутри регистров. Думаю, 4 штуки должно хватить всем (с)... Ага, 3 разА... ![]() Веселее, всё ж, с 16-ю РОНами (ARM), а с 32-мя (AVR, вот бы без ограничения 8-битности) вообще песня... PS: Гейтса за 640k в аду вторично будут жарить без масла... |
Автор: | Trurl [ Воскресенье, 06 Октябрь, 2019 08:36 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
А потом придумывай схемы оптимального распределения регистров. Не надо регистров, регистры - атавизм. |
Автор: | Comdiv [ Воскресенье, 06 Октябрь, 2019 12:30 ] |
Заголовок сообщения: | Re: Свойства процессора для Оберона |
А что не атавизм? Стек? |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |