Компьютеры в основном построены из логических элементов .Хотя это абстрактная идеализация реального физического механизма, она достаточно близка к истине, и мы можем сейчас в это поверить.На самом базовом уровне эти вещи работают так же, как предикаты true / false.Или, если вы когда-нибудь играли в майнкрафт, это очень похоже на Redstone.Область, которая изучает, как собрать логические элементы для создания интересных сложных схем, таких как компьютеры, называется компьютерная архитектура .Это традиционно рассматривается как смесь информатики и электротехники.
Самыми основными логическими элементами являются такие вещи, как AND и OR, которые просто собирают биты вместе и разбивают некоторые логические операции между ними.Создавая петли обратной связи в логических элементах, вы можете хранить память.Один тип стандартной схемы памяти называется триггер , и это в основном небольшая петля провода вместе с некоторыми вентилями И и питанием для поддержания его стабильности.Объединение нескольких защелок позволяет создавать битовые векторы, и эти вещи называются registers (которые представляют собой такие вещи, как eax и ebx).Есть также много других типов частей, таких как сумматоры, мультиплексоры и т. Д., Которые реализуют различные части логической логики.Вот каталог некоторых схем:
http://www.labri.fr/perso/strandh/Teaching/AMP/Common/Strandh-Tutorial/Dir.html
Ваш ЦП - это, по сути, связка этих вещей, собранных из одних и тех же базовых логических элементов.Способ, которым ваш компьютер знает, как продолжать выполнять инструкции, заключается в том, что существует специальный механизм, называемый часами, который излучает импульсы через равные промежутки времени.Когда часы вашего ЦП излучают импульс, он запускает последовательность реакций в этих логических элементах, которые заставляют ЦП выполнить инструкцию.Например, когда он читает инструкцию, которая говорит "mov eax, ebx", в конечном итоге происходит то, что состояние одного из этих регистров (ebx) копируется в состояние другого (eax) незадолго до следующегоИмпульс исходит из часов.
Конечно, это грубое упрощение, но как картина высокого уровня это по существу правильно.Остальные детали требуют некоторого времени для объяснения, и здесь есть несколько вещей, которыми я пренебрег из-за ненужной тонкости (например, в реальном процессоре иногда несколько команд выполняются за один такт, а из-за регистрации страниц иногда eax isnэто не всегда одно и то же, а иногда из-за переупорядочения иногда перемещается способ выполнения инструкций и т. д.).Тем не менее, это определенно стоит изучить всю историю, так как она на самом деле довольно удивительна (или, по крайней мере, мне нравится так думать!). Вы окажете себе большую услугу, чтобы пойти и почитать об этом, и, возможно, попытаться создатьнесколько ваших собственных схем (с использованием реального оборудования, симулятора или даже Minecraft!)
В любом случае, надеюсь, что это ответит на ваш вопрос о том, что делает mov eax, ebx.