Страница 2 из 2

Re: Э16С, типы данных, поддерживаемые инструкции

Добавлено: 04 дек 2020, 23:28
retk213
Ну я попробую почитать, но конечно я не специалист, поэтому вряд ли пойму почему. Жаль конечно если нет.

Но вот такое объясните почему нельзя сделать. Возьмем такой пример (на асме давно не писал), пример от балды:

MOV AX, 100
MOV BX, 200
ADD AX, BX

Допустим нужно это выполнить на двух ядрах - в общем одна и та же последовательность команд раскидана по ядрам.

Соответственно двоичный транслятор Эльбруса тупо делит ресуры проца Эль 8св допустим на два хотя бы: до 24 оп за такт, 64 регистра на рыло. Или там 2 FPU, 2 INT и что там еще на рыло - все поровну.

При этом для первого ядра регистры A, B, C, D, ... это r0, r1, r2, r3, ..., а для второго виртуального ядра соотв r64, r65, r66, r67...
И просто подменяет все это для первого ядра (пишу в асме х86, для примера):

MOV r0, 100
MOV r1, 200
ADD r1, r2

а для второго виртуального ядра:

MOV r64, 100
MOV r65, 200
ADD r64, r65

Ну и соответственно используются разные АЛУ или разные FP, INT из всех доступных АЛУ.
И все это выполняется в одной широкой команде за один такт. По факту с точки зрения х86 ОС как будто два ядра отработали.

Чисто теоретически разве вот такой конкретный пример нельзя сделать на Эль 8св?

Re: Э16С, типы данных, поддерживаемые инструкции

Добавлено: 05 дек 2020, 12:56
mike
MaxPayne писал(а):
29 окт 2020, 02:30
Есть вопросы:
1. А. Какие типы данных для работы с вещественными числами реализованы в соответствии со стандартом IEEE 754-2018 ? Понятное дело, что FP32 (binary32 \ single precision IEEE 754-1985), FP64 (binary64 \ double precision IEEE 754-1985).
MaxPayne, отвечают компиляторщики:

---
Аппаратно поддержаны FP32 (float), FP64 (double), FP80 (long double,
__float80)
У FP128 (__float128) поддержка программная
Всё симметрично во всех моделях процессоров

Для FP256 и Decimal'ов (и вообще для какого угодно формата) можно было бы
сделать программную поддержку, но проблема упирается в то, что покупной
фронтенд edg, на базе которого построен компилятор lcc, данные типы
не поддерживает
---

PS:
> Попроси ещё создавать темы таким образом, чтобы в одной теме был один вопрос.

Re: Э16С, типы данных, поддерживаемые инструкции

Добавлено: 27 дек 2020, 17:26
mike
На всякий: это mcst#2602, задокументировано в /opt/mcst/doc/builtin_gnu.html