LINUX.ORG.RU
решено ФорумTalks

МЦСТ. Тыркаясь по ссылкам сайтика.

 , , , ,


2

3

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

дискасс?

Deleted
Ответ на: комментарий от uin

Скорее всего регистровые окна, потому что несмотря на то что считается что это пришло из спарк там оно очень примитивное по сравнению с тем как это сделано в том же эльбрусе. Но только это уже скорее из Эльбруса-3, не 1-2.

Учитывая, что МЦСТ зарегистрирована и держит патенты на Каймановых островах, если бы кто-то стырил их идею подать в суд и отсудить нормально денег было бы не проблема.

alt-x ★★★★★
()
Ответ на: комментарий от lenin386

Как ты себе представляешь суперскалярность стекового калькулятора обратной польской записи, каковым был Э1?

gremlin_the_red ★★★★★
()
Ответ на: комментарий от lenin386

Но под RISC на ассемблере никто не лабает…

Почему? У Спарка очень удобный ассемблер. Читается не хуже С.

alt-x ★★★★★
()
Ответ на: комментарий от alt-x

Джава вообще всё ещё опциональна - можно поставить Солярис и без неё.

Я объяснял же про JDS. Он написал, что JDS - это гном, а я обяснил, что если гном, то он работает через JVM. Что можно было понять не так?!

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от alt-x

Какая связь? ME выполняется на сервисном ядре, а не на основном.

Такая, что основное может прозрачно приостанавливаться.

praseodim ★★★★★
()
Ответ на: комментарий от lenin386

RISC как концепция помоему в начале восьмедесятых только появился, а первые представители уже ближе к концу.

uin ★★★
()
Ответ на: комментарий от alt-x

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

uin ★★★
()
Ответ на: комментарий от lenin386

Это всё у GRUB есть. Является ли GRUB операционной системой?

hateyoufeel ★★★★★
()
Ответ на: комментарий от uin

Стековый процессор не может быть суперскалярным. Ну, то есть в теории может, конечно, но никто никогда так не делал, потому что это дичайше неэффективно.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Стековый процессор не может быть суперскалярным. Ну, то есть в теории может, конечно, но никто никогда так не делал, потому что это дичайше неэффективно.

Ясно, а для чего ты ссылки спрашиваешь если ты не ходишь по ним и тебе все и так понятно?
x86 - это кстати стековый процессор или нет?

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от xwicked

Я объяснял же про JDS. Он написал, что JDS - это гном, а я обяснил, что если гном, то он работает через JVM. Что можно было понять не так?!

Java Desktop System – это маркетоидная отрыжка Sun. Никакой Java’ой кроме нескольких приложений там и не пахнет. Это просто GNOME 2 с особой темой оформления.

а я обяснил, что если гном, то он работает через JVM

BSD-ядро поднимает JVM, та в свою очередь, поднимает гном.

Написана на Java

Где ты этот высер нашёл? На русской Википедии что ли? Читаем первоисточник:

Despite being known as the Java Desktop System, it is not actually written in Java. Rather, it is built around a tweaked version of GNOME along with other common free software projects, which are written mostly in C and C++. The name reflected Sun’s promotion of the product as an outlet for corporate users to deploy software written for the Java platform.

https://en.wikipedia.org/wiki/Java_Desktop_System

EXL ★★★★★
()
Ответ на: комментарий от uin

а для чего ты ссылки спрашиваешь если ты не ходишь по ним

Что? Я сходил по ссылке, прочитал, как н устроен и сразу понял, что эта архитектура не может быть суперскалярной, и не является CISC.

x86 - это кстати стековый процессор или нет?

Разумеется, нет.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от uin

Воу, воу, я далекооо не главный, так мартышка за клавиатурой :)

Про Rust - в том или ином виде он есть, разрабатывается порт из llvm ir в lcc ir.

alexanius ★★
()
Ответ на: комментарий от gremlin_the_red

Что? Я сходил по ссылке, прочитал, как н устроен и сразу понял, что эта архитектура не может быть суперскалярной, и не является CISC.


Чем тогда оно является? По твоему мнению

Разумеется, нет.


Но у нее же есть команды пуш и поп

uin ★★★
()
Ответ на: комментарий от uin

Чем тогда оно является? По твоему мнению

Моё мнение никому не интересно. Есть определение (на него, кстати, ссылаются в статье по твоей ссылке, непонятно чем ты её читал): https://en.wikipedia.org/wiki/Stack_machine

Но у нее же есть команды пуш и поп

А так же есть адресные команды.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от lenin386

Считается, что оптимальный код для RISC может сгенерировать только компилятор (он будет сложно читаем).

Кем считается? Наверно, это всё-таки про VLIW, а не про RISC. Когда делал эмуляцию sun4v мне приходилось отлаживать sqldb не выходя из ядерного отладчика. И ядерный код и sqldb прекрасно читаются в ассемблере SPARC.

alt-x ★★★★★
()
Ответ на: комментарий от alexanius

Воу, воу, я далекооо не главный, так мартышка за клавиатурой


Ну не прям главный главный, но точно зам какой нибудь

Про Rust - в том или ином виде он есть, разрабатывается порт из llvm ir в lcc ir.


Понятно. Слушай а почему вот такой код у вас в компиляторе не векторизуется не раскручивается https://godbolt.org/z/_tMrbZ ?

uin ★★★
()
Ответ на: комментарий от gremlin_the_red

Моё мнение никому не интересно. Есть определение (на него, кстати, ссылаются в статье по твоей ссылке, непонятно чем ты её читал): https://en.wikipedia.org/wiki/Stack_machine

In some cases, the term refers to a software scheme that simulates a stack machine.


Как и ты. Так же тогда непонятно откуда ты взял что оно не может быть суперскалярным циск.

uin ★★★
()
Ответ на: комментарий от uin

Понятно. Слушай а почему вот такой код у вас в компиляторе не векторизуется не раскручивается https://godbolt.org/z/_tMrbZ ?

Опции сборки, версия компилятора? У меня цикл нормально оптимизируется (только я ещё добавил #pragma loop count (1000)):

	{
	  loop_mode
	  alc	alcf=1, alct=1
	  abn	abnf=1, abnt=1
	  ct	%ctpr1 ? %NOT_LOOP_END
	  qpfadds,0,sm	%xr14, %xb[29], %xr14
	  qpfadds,1,sm	%xr13, %xb[28], %xr13
	  qpfadds,2,sm	%xr3, %xb[19], %xr3
	  qpfadds,3,sm	%xr2, %xb[9], %xr2
	  qpfadds,4,sm	%xr17, %xb[18], %xr17
	  qpfadds,5,sm	%xr0, %xb[8], %xr0
	  movaqp,0	area=2, ind=0, am=0, be=0, %xb[25]
	  movaqp,1	area=2, ind=16, am=1, be=0, %xb[24]
	  movaqp,2	area=1, ind=0, am=0, be=0, %xb[35]
	  movaqp,3	area=1, ind=16, am=1, be=0, %xb[34]
	}

Это одна из ШК цикла, там таких 4

alexanius ★★
()
Ответ на: комментарий от alexanius

Оо это уже здорово

Опции сборки, версия компилятора?


Старая конечно, которая у вас утекла. Опции сборки подставлялись вплоть до
-fforce-vect -fforce-alignopt -fforce-unroll=8 -funroll-scale=8.0 -O4
но оно на нем ничего не дает.

Хоть на сайт этого компилер эксплорера добавьте что ли, там и проприетарные в списке есть значит ис копирайтными условиями это как то согласуется.

uin ★★★
()
Ответ на: комментарий от uin

- это что квадрорегистры на 8СВ?

Да.

Я даже со старой версией такой код получаю:

	{
	  loop_mode
	  pfadds,0,sm	%dr0, %db[17], %dr0 ? %pcnt0
	  pfadds,1,sm	%db[11], %db[2], %db[9] ? %pcnt0
	  pfadds,3,sm	%dr4, %db[14], %dr4 ? %pcnt0
	  pfadds,4,sm	%dr5, %db[8], %dr5 ? %pcnt0	
	  movad,0	area=0, ind=0, am=1, be=0, %db[11]
	  movad,1	area=0, ind=8, am=0, be=0, %db[8]
	  movad,2	area=0, ind=0, am=1, be=0, %db[14]
	  movad,3	area=0, ind=8, am=0, be=0, %db[2]
	}

Опции: -O4 -ffast -ffast-math

alexanius ★★
()
Ответ на: комментарий от alexanius

Ну тут совсем древнючая версия была elbrus_optimizing_compiler_v1.20.17_Mar_3_2016
Значит у вас компилятор развивается семимильными шагами, это честно говоря внушает оптимизм.

Наверное это тут нельзя спрашивать, но объясни пожалуйста что такое %b[n] регистры?

setbn rsz = 0x2, rbs = 0x4, rcur = 0x0
Это я так понимаю их вот это задает - они из того же окна которое выше (setwd wsz = 0x7, nfx = 0x1) регистры забирает и как то их перераспределяет или это что то отдельное?

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от EXL

А по скорости работы мне кажется, что всё так как русской Википедии. :D

xwicked ★★☆
()
Ответ на: комментарий от uin

На 20-ой версии примерно то же самое будет, ты просто -ffast -ffast-math добавь.

объясни пожалуйста что такое %b[n] регистры?

setbn задаёт окно вращающихся регистров, setwd задаёт окно обычных регистров.

Вращающиеся - это что-то типа синонимов. Представь у нас есть регистры:

   | b0 | b1 | b2
----------------------
r1 | r2 | r3 | r4 | r5

Т.е. при обращении к b0 ты по факту обращаешься к r2.

Потом ты делаешь вращение, и у тебя получается следующая картинка:

   | b2 | b0 | b1
----------------------
r1 | r2 | r3 | r4 | r5

Такая штука нужна для конвейеризации циклов

alexanius ★★
()

Про rt соляру - там же написаны основные подходы: пишем своё микроядро, а соляру запускаем как пользовательское приложение. И приведён какой-то тестик, который, судя по всему - просто драйвер для замеров обработки прерываний.

Чё здесь срач на пустом месте развели - вообще не догоняю.

alexanius ★★
()
Ответ на: комментарий от alexanius

Ясно, спасибо. Прикольная так то система особенно для обучения и приобщения к основам.
Скорей бы уже как то продаваться/выкладываться начало.

ты просто -ffast -ffast-math добавь.

Не, не помогает, тот же результат.

uin ★★★
()
Последнее исправление: uin (всего исправлений: 1)
Ответ на: комментарий от alexanius

Про Rust - в том или ином виде он есть, разрабатывается порт из llvm ir в lcc ir.

А есть ли падение в скорости выполнения кода из-за того, что вы обрабатываете переработанный IR, а не сами исходники на Rust? Например, по сравнению с amd64, вообще, и по сравнению с аналогичным кодом на C++, в частности.

dave ★★★★★
()
Ответ на: комментарий от dave

А есть ли падение в скорости выполнения кода из-за того, что вы обрабатываете переработанный IR, а не сами исходники на Rust? Например, по сравнению с amd64, вообще, и по сравнению с аналогичным кодом на C++, в частности.

Пока у меня таких цифр нет. Но тут надо понимать что можно измерять следующие вещи:

  • rust vs C++ - точно никто не будет заморачиваться
  • C++ llvm (native e2k) vs C++ lcc (native e2k) - когда будет готово измеримся, но тут сто пудов будут падения производительности
  • C++ llvm (x86) vs C++ lcc (native e2k) - тут играют предыдущий пункт и разница в самих процессорах, в целом тоже смысла мало, но может быть любопытно. Это скорей всего пользователи измерять будут
alexanius ★★
()
Ответ на: комментарий от uin

All technical information about the SPARC architecture is available for free and without royalties here. Anyone is welcome to download the SPARC specifications, which provide all the technical requirements to design processors and other products based on the open SPARC standard.

While the technical information is free, use of the SPARC trademark requires two things: (1) membership in SI; and (2) successful completion of the SPARC compliance test. To apply for membership, please click here.

We also offer registry services for a one-time fee of $99, which is particularly important to those companies that track the source of technology in their products. For more information, please contact us at info@sparc.org.

i-rinat ★★★★★
()
Ответ на: комментарий от alexanius

Ясно. Значит, лучше расcчитывать на С++.

Кстати, а когда можно ожидать добавления std::optional и std::variant из С++17, если уже не добавлены? Ну, и как пожелание огромное, очень-очень хотелось бы перемещающий конструктор для std::function как noexcept. Последнее официально только в С++20, но на мой взгляд будет разумным для абсолютно всех стандартов, начиная с С++11.

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от uin

каша какая вышла. трансмета не разрабатывала для интеля, они своё крузо пилили самостоятельно, но не вывезли и интель их поглотил.

SevikL ★★★★★
()
Ответ на: комментарий от dave

Кстати, а когда можно ожидать добавления std::optional и std::variant из С++17, если уже не добавлены?

Добавлены, у пользователей эта версия компилятора будет в следующем году.

Ну, и как пожелание огромное, очень-очень хотелось бы перемещающий конструктор для std::function как noexcept.

Вообще, непосредственно поддержкой стандарта мы не занимаемся, у нас фронтенд покупной, и реализация будет такой которая там предоставлена

alexanius ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.