Re: Э16С, типы данных, поддерживаемые инструкции
Добавлено: 04 дек 2020, 23:28
Ну я попробую почитать, но конечно я не специалист, поэтому вряд ли пойму почему. Жаль конечно если нет.
Но вот такое объясните почему нельзя сделать. Возьмем такой пример (на асме давно не писал), пример от балды:
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св?
Но вот такое объясните почему нельзя сделать. Возьмем такой пример (на асме давно не писал), пример от балды:
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св?