Программирование на JAVA

Пересылка данных между регистрами

В ходе выполнения команд данные постоянно пересылаются из одного регистра в другой. За помещение содержимого регистра на шину и загрузку данных с шины в регистр отвечают два сигнала, символически показанных на рис. 8.2. Вход и вы­ход регистра Ri  соединяются с шиной через ключи, управляемые сигналами Riin, и Riout. Когда Riin устанавливается в 1, находящиеся на шине данные загружаются в регистр Ri. Аналогичным образом, когда Riout устанавливается в 1, данные из ре­гистра Ri помещаются на шину. Но если Riout = 0, шина может использоваться для пересылки данных других регистров.


Рис. 8.2. Входные и выходные вентили регистров, показанных на рис. 8.1

Предположим, что мы хотим переслать содержимое регистра Rl в регистр R4. Это можно сделать в два этапа:

- активизируем выход регистра Rl, установив R1out в 1, в результате чего содержимое Rl будет помещено на шину процессора;

 активизируем вход регистра R4, установив R4in в 1, и данные с шины про­цессора будут загружены в регистр R4.

Все операции по пересылке данных внутри процессора выполняются в тече­ние периодов времени, определяемых тактовым сигналом процессора. Сигналы, управляющие конкретными операциями пересылки, активизируются в начале такта


<< назад вперед >>