Сообщение Re[3]: ARM - это RISC? от 13.06.2017 13:37
Изменено 13.06.2017 13:39 netch80
Re[3]: ARM - это RISC?
Здравствуйте, Дрободан Фрилич, Вы писали:
ДФ>netch80:
N>>UPD: ARM отличается тем, что в нём часто делают, что инструкция делает не одно простое действие, а 2 одновременно
ДФ>Не путаешь с VLIW?
Не-а.
Например, в ARM обоих разрядностей операция вида LDR R1, [R2], #-12 (синтаксис ARM/32) одновременно грузит содержимое в регистр 1 и записывает в регистр 2 новое значение (уменьшает на 12). Таким стилем пользуются, в частности, операции со стеком.
В ARM/64 есть ldp и stp — одновременные чтение или запись пары регистров.
ДФ>Я так понимаю, идея RISC в простом декодировании простых команд, что дает преимущество в конвеерном одновременном исполнении.
Да. А также, если реализация не просто конвейер, а OoO, команды не требуют перетрансляции в простые операции (как приходится делать в x86).
ДФ>netch80:
N>>UPD: ARM отличается тем, что в нём часто делают, что инструкция делает не одно простое действие, а 2 одновременно
ДФ>Не путаешь с VLIW?
Не-а.
Например, в ARM обоих разрядностей операция вида LDR R1, [R2], #-12 (синтаксис ARM/32) одновременно грузит содержимое в регистр 1 и записывает в регистр 2 новое значение (уменьшает на 12). Таким стилем пользуются, в частности, операции со стеком.
В ARM/64 есть ldp и stp — одновременные чтение или запись пары регистров.
ДФ>Я так понимаю, идея RISC в простом декодировании простых команд, что дает преимущество в конвеерном одновременном исполнении.
Да. А также, если реализация не просто конвейер, а OoO, команды не требуют перетрансляции в простые операции (как приходится делать в x86).
Re[3]: ARM - это RISC?
Здравствуйте, Дрободан Фрилич, Вы писали:
ДФ>netch80:
N>>UPD: ARM отличается тем, что в нём часто делают, что инструкция делает не одно простое действие, а 2 одновременно
ДФ>Не путаешь с VLIW?
Не-а.
Например, в ARM обоих разрядностей операция вида LDR R1, [R2, #-12]! одновременно грузит содержимое в регистр 1 (из адреса [R2]-12) и записывает в регистр 2 новое значение (уменьшает на 12). Таким стилем пользуются, в частности, операции со стеком.
В ARM/64 есть ldp и stp — одновременные чтение или запись пары регистров.
ДФ>Я так понимаю, идея RISC в простом декодировании простых команд, что дает преимущество в конвеерном одновременном исполнении.
Да. А также, если реализация не просто конвейер, а OoO, команды не требуют перетрансляции в простые операции (как приходится делать в x86).
ДФ>netch80:
N>>UPD: ARM отличается тем, что в нём часто делают, что инструкция делает не одно простое действие, а 2 одновременно
ДФ>Не путаешь с VLIW?
Не-а.
Например, в ARM обоих разрядностей операция вида LDR R1, [R2, #-12]! одновременно грузит содержимое в регистр 1 (из адреса [R2]-12) и записывает в регистр 2 новое значение (уменьшает на 12). Таким стилем пользуются, в частности, операции со стеком.
В ARM/64 есть ldp и stp — одновременные чтение или запись пары регистров.
ДФ>Я так понимаю, идея RISC в простом декодировании простых команд, что дает преимущество в конвеерном одновременном исполнении.
Да. А также, если реализация не просто конвейер, а OoO, команды не требуют перетрансляции в простые операции (как приходится делать в x86).