'выровняйте' инструкцию относительно MIPS

Одна вещь, которую я удивляюсь, еще не упоминалась, это то, что реализация Runnable делает ваш класс более гибким.

Если вы расширяете поток, то действие, которое вы делаете, всегда будет в потоке. Однако, если вы реализуете Runnable, этого не должно быть. Вы можете запустить его в потоке, или передать его какому-либо сервису-исполнителю, или просто передать как задачу в рамках одного многопоточного приложения (возможно, для запуска в более позднее время, но в том же потоке). Опции гораздо более открыты, если вы просто используете Runnable, чем если вы привязываете себя к Thread.

7
задан Ranveer 4 August 2014 в 09:05
поделиться

3 ответа

Обычно данные выравниваются для повышения производительности. Для большинства процессоров доступ к памяти имеет некоторые недостатки, если не осуществляется доступ к определенным границам байтов. Для других ассемблеров часто используется какая-то псевдооперация .align . Большинство компиляторов также выравнивают свои структуры данных (хотя вы можете отключить это для целей отладки).

Также см. Эту запись в Википедии .

Обратите внимание, что неэмулированные системы MIPS могут даже дать сбой, если вы попытаетесь доступ к невыровненным ячейкам памяти (см. здесь и здесь ).

9
ответ дан 7 December 2019 в 01:25
поделиться

Есть ли аналогичные инструкции в других ассемблерах?

MASM имеет директиву Align: http://msdn.microsoft.com/en-us/library/dwa9fwef (VS .80) .aspx

1
ответ дан 7 December 2019 в 01:25
поделиться

Он выравнивает все в энной степени двойки. Это не инструкция, это директива, которая будет преобразована в инструкции

Что касается ее использования, например:

инструкции mips32 всегда имеют длину 32 бита. Таким образом, каждая инструкция должна начинаться с границы слова. Добавление директивы .align перед запуском кода выравнивает все до 32 бит. Это имеет много преимуществ, в том числе то, что для выборки инструкции требуется только 1 доступ к памяти, и что это, вероятно, будет полезно для кеша инструкций.

0
ответ дан 7 December 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: