Skip to main content

Что такое упорядочение памяти?

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

Всякий раз, когда кто-то что-то делает на компьютере - например, перемещает мышь, открывает программу или редактирует изображение, - ЦПУ должен одобрить использование памяти для этой задачи. Эти запросы обычно поступают линейно, но они редко обрабатываются таким образом. С упорядочением памяти, задачи обрабатываются наилучшим образом, чтобы сделать компьютер быстрее. Например, если ЦПУ может легко позаботиться о втором процессе перед первым, он будет использовать память для этого процесса, прежде чем перейти к другим.

Запросы часто выполняются не по порядку, что может запутать пользователей и программистов. В то же время ЦП запрограммирован на то, что упорядочение памяти может сбить их с толку, поэтому он выполняет все таким образом, что создается впечатление, что процессы завершаются линейно, даже если это не так. Это облегчает понимание пользователями и, как правило, не позволяет программистам вводить чрезмерное количество кода для обеспечения эффективной работы процессора.

Упорядочение памяти обычно можно легко выполнить на компьютере с одним ЦП, но могут быть проблемы с компьютером с несколькими ЦП. Это связано с тем, что доступ к памяти проще утверждать и правильно упорядочивать с одним ЦП, но два или более ЦП могут давать сбои при попытке выполнить несколько задач. Если между двумя или более процессорами имеется достаточная связь, то эта проблема обычно смягчается.

Без упорядочения памяти задачи могут быть сложнее для компьютера и программиста. Со стороны компьютера ЦП сможет удовлетворять запросы только по мере их поступления, а это означает, что весь процесс замедляется и может заставить пользователей ждать. Программист должен был бы написать чрезмерное кодирование, чтобы процессор должным образом выполнял все задачи, что могло бы занять намного больше времени для создания программы.