Ну я попробую почитать, но конечно я не специалист, поэтому вряд ли пойму почему. Жаль конечно если нет.
Но вот такое объясните почему нельзя сделать. Возьмем такой пример (на асме давно не писал), пример от балды:
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св?
Э16С, типы данных, поддерживаемые инструкции
-
- Сообщения: 3
- Зарегистрирован: 24 ноя 2020, 18:15
- Контактная информация:
- mike
- Сообщения: 59
- Зарегистрирован: 24 апр 2017, 13:58
- Контактная информация:
Re: Э16С, типы данных, поддерживаемые инструкции
MaxPayne, отвечают компиляторщики:
---
Аппаратно поддержаны FP32 (float), FP64 (double), FP80 (long double,
__float80)
У FP128 (__float128) поддержка программная
Всё симметрично во всех моделях процессоров
Для FP256 и Decimal'ов (и вообще для какого угодно формата) можно было бы
сделать программную поддержку, но проблема упирается в то, что покупной
фронтенд edg, на базе которого построен компилятор lcc, данные типы
не поддерживает
---
PS:
> Попроси ещё создавать темы таким образом, чтобы в одной теме был один вопрос.
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус
- mike
- Сообщения: 59
- Зарегистрирован: 24 апр 2017, 13:58
- Контактная информация:
Re: Э16С, типы данных, поддерживаемые инструкции
На всякий: это mcst#2602, задокументировано в /opt/mcst/doc/builtin_gnu.html
Михаил Шигорин | ОС Альт для Эльбрус | вики для всех нас: altlinux.org/эльбрус