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

retk213
Сообщения: 3
Зарегистрирован: 24 ноя 2020, 18:15
Контактная информация:

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

Сообщение 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св?

Аватара пользователя
mike
Сообщения: 55
Зарегистрирован: 24 апр 2017, 13:58
Контактная информация:

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

Сообщение 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:
> Попроси ещё создавать темы таким образом, чтобы в одной теме был один вопрос.
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус

Аватара пользователя
mike
Сообщения: 55
Зарегистрирован: 24 апр 2017, 13:58
Контактная информация:

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

Сообщение mike »

На всякий: это mcst#2602, задокументировано в /opt/mcst/doc/builtin_gnu.html
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус

Ответить

Вернуться в «Микропроцессоры серии "Эльбрус"»