Рис.1. Способы передачи слов между регистрами |
Реализация последовательного способа возможна при использовании сдвигающих регистров. Будем считать, что младший разряд слова содержится в крайнем правом разряде регистра, старший его разряд - в крайнем левом разряде регистра. Передача слова, начиная со старших разрядов, показана на рис.1,б, начиная с младших разрядов - на рис.1,в.
Процесс передачи слова рассмотрим на примере рис.1,б. В каждом такте машинного времени под действием сигнала Yсдв осуществляется сдвиг содержимого регистров А и В на один разряд влево. При этом содержимое крайнего левого разряда регистра В как бы "вытесняется" в шину, а так как Yсч = 1, то оно записывается в крайний правый разряд регистра А. Таким образом, за один такт машинного времени реализуются следующие микрооперации:
Yсдв RG A := L1 RG A,
RG B := L1 RG B.
Yсч RG A[n-1] := RG B[0].
По окончании n тактов передача слова из RG B в RG A завершается. Подобные рассуждения можно повторить и в отношении процесса передачи на рис.1, в. Приведем лишь микрооперации, выполняемые в одном такте машинного времени реализуются следующие микрооперации:
Yсч, Yсдв : RG A := R1 RG A,
RG B := R1 RG B,
RG A[0] := RG B[n-1].
Следует обратить внимание, что связь младшего разряда одного регистра со старшим разрядом другого при последовательном способе передачи необходима для того, чтобы порядок расположения разрядов слова в регистре А после записи был таким же, каким он был в регистре В. Отметим, что часто по шине осуществляется передача слов одного определенного назначения, в связи с чем шины могут иметь названия: адресная шина, шина данных и т.д.
Для организации передачи слов регистры снабжаются дополнительными схемами, вид которых определяется рядом параметров: типом шины, видом кода (прямой, обратный), способом передачи (параллельный, последовательный), числом взаимодействующих регистров и др. В качестве примера рассмотрим две схемы передачи слова между двумя трехразрядными регистрами с использованием парафазной шины (рис.2) и однофазной шины (рис.3). Обе схемы реализуют микрооперацию передачи слова из регистра В в регистр А - Yсч : RG A := RG B. В схеме на рис.2 указанная микрооперация осуществляется за один такт машинного времени под действием управляющего сигнала Yсч , что отражается в виде записи Yсч : RG A := RG B. Содержимое регистра А к моменту передачи может быть произвольным. Та же микрооперация в схеме на рис.3 происходит уже за два такта машинного времени. Дело в том, что содержимое регистра А до передачи может исказить слово, передаваемое на этот регистр из регистра В. Поясним это обстоятельство примером. Пусть значение первого разряда передаваемого слова равно 0, т.е. RG В[1] = 0. В первом разряде регистра А к моменту передачи была записана единица, т.е. RG А[1] = 1.
Рис.2. Парафазная шина |
Рис.3. Однофазная шина |
Если передачу слова осуществлять, как в предыдущем случае, т.е. за один такт, то содержимое первого разряда регистра А после передачи сохранится RG А[1] = RG B [1]. Поэтому, чтобы исключить возможность искажения слова при передаче в схеме на рис.3, необходимо предварительно "очистить" регистр А и только затем произвести передачу слова из регистра В в регистр А, что может быть записано следующим образом:
Yсбр : RG A := 0.
Yсч : RG A := RG B.
Отметим, что в обоих случаях после осуществления передачи содержимое регистра В не изменяется.
Анализ двух схем показывает, что схема на рис.3 является более экономичной (требует в 2 раза меньше схем И и проводов в шине), но обладает меньшим быстродействием (время передачи слов в 2 раза больше) по сравнению со схемой на рис.2.
В системе, состоящей из достаточно большого количества регистров, важное значение приобретает вопрос организации шин между регистрами. Различают два способа реализации взаимодействия регистров (на примере системы 4 регистров):
- через множество изолированных шин (рис.4);
- через общую шину, называемую также магистралью (рис.5).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.