Исследование межрегистровых передач
Цель работы: изучение принципов организации взаимодействия регистров в ЦВМ.
1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ
В ЦВМ используется достаточно большое количество регистров. При выполнении операций над информацией возникает необходимость в передаче слов с одного регистра на другой (либо на некоторое число регистров). Действие по передаче слова между регистрами рассматривается как микрооперация передачи слова. Для передачи слова регистры соединяются управляемой шиной. Шина представляет собой совокупность электрически независимых цепей, каждая из которых используется для передачи одного двоичного разряда слова. Количество цепей в шине равно числу двоичных разрядов передаваемого слова. Цепи различаются как однофазные и парафазные. Однопроводная цепь, по которой передается сигнал, представляющий прямое или обратное значение двоичной переменной, называется однофазной. Двухпроводная цепь, по которой одновременно передаются два сигнала, представляющие прямое и обратное значение двоичной переменной, называется парафазной. В зависимости от типа цепей шины подразделяются на однофазные и парафазные. Формирование шины определяется способом передачи слов между регистрами. Различают параллельный (рис.1,а) и последовательный (рис.1,б и 1,в) способы передачи слов. При параллельном способе передачи из регистра в шину поступают все разряды слова одновременно, т.е. за один такт машинного времени. Количество цепей, образующих шину, в этом случае определяется числом разрядов регистра, из которого считывается слово. Если регистр имеет n разрядов, то шина содержит n цепей, что означает использование n проводов в однофазной шине и 2n проводов в парафазной. При последовательном способе передачи слов из регистра в шину за один такт машинного времени поступает один разряд слова. Считывание n-разрядного слова занимает, таким образом, n тактов. В этом случае шину образует одна цепь, т.е. в однофазной шине используется один провод, а в парафазной шине - два. Пример изображения на операционных схемах передачи слова из регистра В в регистр А показан на рис.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.
Если передачу слова осуществлять, как в предыдущем случае, т.е. за один такт, то содержимое первого разряда регистра А после передачи сохранится RG А[1] = RG B [1]. Поэтому, чтобы исключить возможность искажения слова при передаче в схеме на рис.3, необходимо предварительно "очистить" регистр А и только затем произвести передачу слова из регистра В в регистр А, что может быть записано следующим образом: Yсбр: RG A:= 0. Yсч: RG A:= RG B. Отметим, что в обоих случаях после осуществления передачи содержимое регистра В не изменяется. Анализ двух схем показывает, что схема на рис.3 является более экономичной (требует в 2 раза меньше схем И и проводов в шине), но обладает меньшим быстродействием (время передачи слов в 2 раза больше) по сравнению со схемой на рис.2. В системе, состоящей из достаточно большого количества регистров, важное значение приобретает вопрос организации шин между регистрами. Различают два способа реализации взаимодействия регистров (на примере системы 4 регистров):
- через множество изолированных шин (рис.4); - через общую шину, называемую также магистралью (рис.5). В системе на рис.4 имеется 12 изолированных шин. Передача слова в каждой шине осуществляется под действием своего управляющего сигнала Yi,j, где i ¹ j; i, j = 1,..., 4. Например, под действием сигнала Y3,1реализуется микрооперация передачи слова: RG1:= RG3. В схеме на рис. 5 каждый триггер связан с остальными регистрами системы с помощью одной шины, к которой подключается через свои входные и выходные цепи (о них речь пойдет ниже). Процесс передачи слова между двумя регистрами управляется парой сигналов: под действием одного из них информация из передающего регистра посылается в магистраль, под действием другого эта информация из магистрали поступает на входы приемного регистра. Так, микрооперация передачи слова: RG3:= RG2 осуществляется под действием двух сигналов: Yсч2и Yзап3, при этом Yсч2: М:= RG2, Yзап2: RG3:= M, где М - магистраль. Заметим, что в каждом такте лишь один сигнал Yсчi(i = 1,..., 4) может быть равен единице, что является следствием использования общей шины. Если в одном такте имеет место комбинация Yсч1= Yсч2= 1, то в магистраль попадет слово, являющееся поразрядной дизъюнкцией содержимого регистров RG1 и RG2, т.е. М = RG1 V RG2, в результате чего в приемный регистр запишется неправильное число. Сравнение двух систем организации шин показывает, что система с магистралью является более экономичной по оборудованию. Не вдаваясь в детали, рассмотрим, опираясь на рис.3, дополнительные схемы, которые потребуются для организации той или другой системы (см. рис.4 и 5). В системе на рис.4 в каждый регистр необходимо ввести 3n двухвходовых схем И для выдачи слова из него на 3 шины и n трехвходовых схем ИЛИ. Суммарная сложность вводимого оборудования равна, таким образом, Sm= = 4(2.3n + 3n) = 36n входов.
В системе на рис.5 в каждый регистр нужно ввести n двухвходовых схем И (см. рис.6,а) для выдачи слова в магистраль, n двухвходовых схем И для приема кода из магистрали, и кроме того для образования магистрали потребуется n 4-входовых схем ИЛИ. Сложность вводимого оборудования оценивается как Sm= 4(2n + 2n) + 4n = 20n входов. Если оценивать быстродействие этих систем, то в среднем в системе с изолированными шинами оно выше, чем в системе с магистралью. Это объясняется тем, что в системе с изолированными шинами за один такт машинного времени (для случая параллельной передачи, как на рис.2) может произойти передача слов между несколькими парами регистров. В системе с магистралью это принципиально невозможно в силу замечания, приведенного при описании этой системы. Например, в системе на рис.4 одновременно могут произойти две передачи слов: RG1:= RG3; RG2:= RG0, для этого необходимо, чтобы Y1,3= Y0,2= 1. В системе на рис. 5 за первый такт осуществляется передача RG1:= RG3, так как лишь Yсч3 может быть равным 1, во втором такте происходит передача RG2:= RG0 (только Yсч0= 1).
В лабораторной работе исследуется взаимодействие регистров по схеме с магистралью. Рассмотрим вопросы построения дополнительных схем (для выдачи и приема кодов) к регистрам, с помощью которых регистры могут выдавать и принимать слова информации. Для реализации действия М:= RG - считывания информации из регистра в магистраль - используется схема выдачи кода (СВК). Отметим, что в зависимости от характера передачи кодов такой схемой снабжается либо один разряд регистра (при передаче кодов последовательным способом), либо каждый разряд регистра (при передаче кодов параллельным способом). Это замечание относится и к схемам для приема кодов. Будем различать три вида СВК в зависимости от типа кода, выдаваемого регистром в магистраль: СВПК - для считывания прямого кода (рис.6,а), СВОК - для считывания обратного кода (рис.6,б), универсальная схема выдачи кода УСВК, с помощью которой может быть считан прямой либо обратный код слова (рис.6,в).
Следует обратить внимание, что Yпрсч. Yобрсч = 0, т.е. Yпрсч= = Yобрсч = 1 является запрещенной комбинацией. Рассмотрим построение схемы для приема однофазного кода регистром, т.е. для реализации микрооперации RG:= M. Необходимо иметь в виду, что применены два типа триггеров: D-триггер и J-K - триггер со встроенной схемой И на три входа. Схемы приема кода (СПК) на триггерах J-K представлены на рис.7,а.
СПК на рис.7,а является более экономичной, однако, аналогично схеме на рис.3, требует двух тактов для записи кода: первым тактом регистр "очищается", а вторым - реализуется передача RG:= M. СПК на D-триггерах (рис. 7,б) позволяет осуществлять запись за один такт, так как новое состояние D-триггера определяется входным сигналом и не зависит от исходного состояния. При приеме парафазного кода по схеме 7а такт очистки не требуется.
Формирование магистрали
Имеем систему, состоящую из K регистров. Каждый регистр содержит n разрядов. Рассмотрим два случая передачи кодов: параллельный способ; последовательный способ. При параллельном способе каждый регистр, входящий в систему, имеет для считывания кодов n идентичных СВК, на n входах которых формируются сигналы, представляющие значения (прямые или обратные) двоичных разрядов слова. В системе количество таких выходных сигналов будет равно nK. Магистраль образуется путем объединения в схемах ИЛИ сигналов, являющихся значениями одноименных разрядов всех К слов, находящихся в регистрах системы (на выходах одноименных СВК регистров). В данном случае будет использовано n схем ИЛИ, каждая из которых имеет К входов. Выходы схем ИЛИ образуют n-разрядную магистраль. Для приема слов из магистрали каждый регистр имеет n идентичных СПК, на входы которых принимаются значения разрядов слова в магистрали. В системе число таких входов равно nK. Для подсоединения их к магистрали i (i = 0,..., n-1) линия последней разветвляется на К линий, каждая из которых соединяется со входом СПК i-го разряда одного регистра. Заметим, что процесс объединения выходных сигналов регистров в магистраль носит название - мультиплексирование, а процесс соединения магистрали со входами СПК регистров - демультиплексирование. Рассмотрим последовательный способ передачи слов между регистрами. Для реализации этого способа требуются сдвигающие регистры, как для выдачи информации, так и для ее приема. Сдвигающий 3-разрядный регистр на J-K - триггерах приведен на рис.8,а; на D - триггерах - на рис.8,б. Функция сдвига вправо в регистрах управляется сигналом Yсдв.
Каждый регистр системы при последовательной передаче кодов имеет лишь одну СВК, которая помещается на выходе правого (младшего) разряда при сдвиге вправо или на выходе левого (старшего) разряда, если сдвиг осуществляется влево. Микрооперация RGi:= RGj осуществляется за n тактов машинного времени. В системе число выходов СВК равно К. Магистраль образуется объединением всех выходов СВК в одной схеме ИЛИ и содержит, таким образом, одну линию. Для приема слов из магистрали i-й (i = 0,..., K-1) регистр имеет одну СПК, вход которой соединяется с линией магистрали. Выше отмечалось, что при параллельном способе передачи слов информация, считываемая из регистра, остается в нем. В случае последовательной передачи слов между регистрами, необходимым условием сохранения информации в регистре после считывания является построение его по кольцевой схеме: цепи сдвига соединяют последний разряд с первым. В противном случае в процессе считывания информация "вытесняется" из регистра и после считывания все разряды регистра находятся в нулевом состоянии. Разомкнутые сдвигающие регистры показаны на рис.8. Чтобы любой из них стал кольцевым, необходимо связать триггеры Т2 и Т0 цепью, аналогичной цепям, связывающим триггеры Т0 и Т1, Т1 и Т2.
Преобразование кодов из параллельного в последовательный и обратно
Очень часто при взаимодействии регистров возникает ситуация, когда регистр принимает информацию последовательным способом, а выдает параллельным способом, или наоборот, прием информации осуществляется параллельным способом, а выдача - последовательным. Такая ситуация типична, например, при совместной работе ЦВМ с внешними устройствами. Говорят, что регистр, работающий в описанном режиме, осуществляет преобразование последовательного кода в параллельный в первом случае, и параллельного кода в последовательный - во втором. В любом случае данный регистр должен быть сдвигающим. Вид СВК и СПК в регистре определяется, как правило, характером преобразования. Если осуществляется преобразование из последовательного кода в параллельный, регистр снабжается одной СПК, место которой (в крайнем правом или крайнем левом разряде) зависит от того, какими разрядами (старшими или младшими) вперед записывается слово. Для выдачи кода такой регистр должен иметь СВК в каждом разряде. Таким образом, прием информации регистром осуществляется за n тактов (если n - число разрядов слова), а выдача - за один такт. В случае преобразования из параллельного кода в последовательный, регистр снабжается СПК в каждом разряде, в то время как СВК находится в одном разряде (в крайнем левом разряде), если выдача слова производится старшими разрядами вперед, либо в крайнем правом разряде при считывании слова младшими разрядами вперед. Прием информации регистром происходит за один такт машинного времени, выдача - за n тактов. Операционная схема на рис.9 иллюстрирует пример взаимодействия регистров, в процессе которого осуществляется преобразование кодов. Здесь RG0 осуществляет преобразование параллельного кода в последовательный; RG1 осуществляет обратное преобразование. Считывание и прием информации в RG2 осуществляется параллельным способом, преобразование кодов не происходит. Заметим, что RG0 является кольцевым. Это означает, что считывание слова из RG0 происходит без потери информации.
2. СОДЕРЖАНИЕ ОТЧЕТА
1. Спроектировать операционную и принципиальную схемы, содержащие три 2-разрядных регистра со схемами выдачи (СВК) и приема кодов (СПК) в соответствии с заданием. На схемах указать все управляющие сигналы, под действием которых происходит обмен информацией между регистрами. 2. Учитывая, что источниками управляющих сигналов являются выходы генераторов импульсов(ГИ), привести в отчете рисунок, отражающий соответствие каждому ГИ определенного управляющего сигнала. 3. Привести в отчете операционную схему системы из 3 регистров на 2 разряда (по заданию). 4. Спроектировать принципиальную схему системы в МicroСap-9, используя типы СПК и СВК, из предыдущего пункта задания для регистров RG0, RG1, RG2. Два регистра должны быть сдвигающими; для управления цепями сдвига в этих регистрах необходимо ввести сигналы Yсдв. Как и в п.1, указать все управляющие сигналы, под действием которых осуществляется выдача и прием кодов регистрами. 5. Привести временную диаграмму, отражающую распределение управляющих сигналов в системе среди ГИ, при этом учесть замечания п.2.
3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Осуществить моделирование (по п. 6 и 7) с помощью МicroСap-9 собрать систему из 4 двухразрядных регистров с магистралью. Подсоединить линии в схеме с управляющими сигналами к выходам соответствующих ГИ и в соответствии с схемой в отчете. 2. Входы С всех используемых в системе триггеров соединить с выходом генератора синхроимпульсов импульсов. 3. Собрать схему сброса для регистра, имеющего СПК, как на рис.7,а. С этой целью использовать элемент И на два входа: первый вход подсоединить к выходу генератора импульсов, второй - к ГИ, которому соответствует сигнал Yсбр. Выход элемента И подсоединить ко входам триггеров указанного регистра (как на рис.7,а). 4. Для наблюдения передачи слов между регистрами использовать временные диаграммы с единичных выходов триггеров регистров. 5. Если передающий регистр содержит УСВК, убедиться в возможности передачи им прямого и обратного кода. 6. Если приемный регистр содержит СПК, как на рис.7,а, надо убедиться в том, что передача кода в этом случае осуществляется за два такта машинного времени 7. Собрать систему из трех регистров. 7.1. Подготовительные операции проделать аналогично п.п.1-6. 7.2. Проверить передачу слова последовательным способом, убедиться по диаграммам, что в приемном регистре записано слово из предыдущего регистра. При этом проверить, что, если передающий регистр собран по кольцевой схеме, данное слово сохранилось в нем, в противном случае - триггеры этого регистра находятся в нулевом состоянии. 7.3. Проверку передачи слова параллельным способом убедиться по временным диаграммам.
5. ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Спроектировать систему с магистралью, состоящую из 4 двухразрядных регистров. Каждый регистр должен иметь возможность записывать информацию в любой другой регистр, а также принимать информацию из любого регистра системы. Типы СВК и СПК регистров приведены в табл. 1 и 2.
Таблица 1 Распределение СВК различных типов между регистрами
У - УСВК; О - СВОК; П - СВПК.
Таблица 2 Распределение СПК различных типов между регистрами
а - СПК из рис.7,а; б - СПК из рис.7,б. 2. Собрать систему из 3 двухразрядных регистров, взаимодействующих в следующих режимах (рис.10).
Таблица 9 Варианты индивидуальных заданий
6. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое однофазная цепь и сколько проводов объединяется в однофазной шине? 2. Что такое парафазная цепь и сколько проводов объединяется в парафазной шине? 3. Что такое магистраль и какие интегральные схемы служат для формирования магистрали? 4. При каком способе передачи слов между регистрами используются сдвигающие регистры? 5. Для чего используется в лабораторной работе тумблерный регистр?
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Алексеенко А.Г., Шагурин И.И. Микросхемотехника. М. Радио и связь, 1982. 2. Майоров С.А., Новиков Г.И. Принципы организации цифровых машин. М. Машиностроение, 1974. 3. Угрюмов Е.П. Проектирование элементов и узлов ЦВМ. М. Высшая школа, 2004.
Читайте также: IV.1. Исследование самооценки Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|