Лекция 4 Логические основы функционирования вычислительных машин

 

1. Комбинационные схемы         

Обработка входной информации Х в выходную Y в любых схемах ВМ обеспечивается преобразователями или цифро­выми автоматами двух видов: комбинационными схемами и схемами с памятью.

Комбинационные схемы (КС) это схемы, у которых выходные сигналы   Y = (у1, у2,..., уm) в любой момент дискретного времени од­нозначно определяются совокупностью входных сигналов Х= (х1 х2,..., хп), поступающих в тот же момент времени t. Реализуемый в КС способ обработки информации называется комбинационным по­тому, что результат обработки зависит только от комбинации вход­ных сигналов и формируется сразу же при поступлении входных сиг­налов. Поэтому одним из достоинств, комбинационных схем является их высокое быстродействие. Преобразование информации однознач­но описывается логическими функциями вида Y = f(X).

Логические функции и соответствующие им комбинационные схе­мы подразделяют на регулярные и нерегулярные структуры. Регу­лярные структуры предполагают построение схемы таким образом, что каждый из ее выходов строится по аналогии с предыдущими. В нерегулярных структурах такая аналогия отсутствует. В практике проектирования ВМ накоплен огромный опыт по син­тезу различных схем. Многие регулярные структуры положены в ос­нову построения отдельных ИС малой и средней степени интеграции или отдельных функциональных частей БИС и СБИС. Из регуляр­ных комбинационных схем наиболее распространены дешифраторы, шифраторы, схемы сравнения, комбинационные сумматоры, комму­таторы и др. Рассмотрим принципы построения подобных регулярных струк­тур.

Дешифраторы (ДШ) — это комбинационные схемы с п входами и т=2n выходами. Единичный сигнал, формирующийся на одном из т выходов, однозначно соответствует комбинации входных сигна­лов. Например, разработка структуры ДШ для n=3 позволяет получить следующую таблицу истинности (табл. 1.3) и логические зависимости.

Дешифраторы широко используются в ВМ для выбора информа­ции по определенному адресу, для расшифровки кода операции и др.

Логические зависимости дешифратора:

  

Таблица 1.3

Таблица истинности шифратора (входы и выходы указаны в верхней части таблицы)  и дешифратора (входы и выходы в нижней части таблицы)

Входы шифратора

Выходы ШР

x0

x1

x2

x3

x4

x5

x6

x7

y2

y1

y0

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

1

1

0

0

0

0

0

0

0

0

1

1

1

1

y0

y1

y2

y3

y4

y5

y6

y7

x2

x1

x0

Выходы дешифратора

Входы ДШ

 

На рис. 4. представлены структурная схема ДШ, построенная в базисе (И, НЕ), и условное ее обозначение на принципиальных элект­рических схемах ВМ. Кружочки у линий, выходящих из логических элементов, указывают на инверсию функций, реализуемых элемен­тами.

Рис. 4. Структурная схема дешифратора (а) и обозначение дешифратора на принципиальных электрических схемах (б)

Рис. 5. Структурная схема шифратора (а) и обозначение шифратора на принципиальных электрических схемах (б)

Шифратор (ШР) решает задачу, обратную схемам ДШ, т.е. по номеру входного сигнала формирует однозначную комбинацию выходных сигналов. Пример построения ШР иллюстрируется таблицей истинности (табл. 1.3) и схемами на рис. 5.

Состояния входов ШР в табл. 1.3 содер­жат только по одному единичному элементу. Другие произвольные комбинации входов недопустимы.

Рассмотрим логическое устройство, называемое сумматором. Его назначение состоит в нахождении суммы двух двоичных чисел. Этот узел интересен для нас тем, что он лежит в основе АЛУ ЦП и иллюстрирует некоторые принципы выполнения вычислительных операций в компьютере.

Для простоты начнем с изучения логической структуры простейшего возможно устройства, являющегося звеном сумматора. Это устройство – полусумматор. Он реализует сложение двух одноразрядных двоичных чисел, которые обозначим А и В в результате получается, вообще говоря, двухразрядное двоичное число. Его младшую цифру обозначим S, а старшую, которая при сложении многоразрядных чисел будет перенесена в старший разряд, через Со (от английских слов «Carry out» «выходной перенос»). Для лучшего понимания происходящего вспомните Правило типа «ноль пишем, один в уме».

Обе цифры можно получить по следующим логическим формулам (черта над символом обозначает операцию NOT, знак ^   конъюнкцию, знак v    дизъюнкцию):

,  

.

Таблица 1.4 Таблица истинности для полусумматора

Входы

Выходы

А

B

S

C0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

Это легко проверить перебором всех четырех возможных случаев сочетания значении А и В, пользуясь табл. 1.4 и табл. 1.5.

Мысленно объединим в табл. 1.4 столбцы А, В и Со. Полученная таблица напо­минает базовый логический элемент И. Аналогично, сравнив первые три столбца А, В и S с имеющимися в предыдущем разделе таблицами истинности для распро­страненных логических элементов, обнаружим подходящий для наших целей элемент «исключающее ИЛИ». Таким образом, для реализации полусумматора достаточно соединить параллельно входы двух логических элементов (рис. 6).

Таблица 1.5

Таблица истинности для полного сумматора

Входы

Выходы

Ci

А

B

S

C0

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

 

Ниже приведены два варианта логической схемы полусумматора: с использованием лишь базовых логических элементов и с использованием логического элемента «исключающее ИЛИ». Видно, что вторая схема существенно проще.

Рис 6.  Логическая схема полусумматора (два варианта)

Полный одноразрядный сумматор «умеет» при сложении двух цифр учитывать возможное наличие единицы, переносимой из старшего разряда (той, которая при обычном сложении столбиком остается «в уме»). Обозначим этот «бит переноса» через Ci (от английского «Carry in»    «входной перенос»).

При построении схемы сумматор удобно представить в виде двух полусуммато­ров, из которых первый суммирует разряды А и В, а второй к полученному резуль­тату прибавляет бит переноса Ci.

Рис7. Сумматор, составленный из двух полусумматоров

Заметим, что для суммирования младших разрядов чисел полусумматора уже достаточно, так как в этом случае отсутствует сигнал входного переноса.

Соединив два полусумматора как показано на рис. 7, получим полный сумма­тор, способный осуществить сложение двух двоичных разрядов с учетом возможно­сти переноса.

Перейти к многоразрядным числам можно путем последовательного соединения соответствующего количества сумматоров.

Схемы сравнения, или компаратор, обычно строятся как пораз­рядные. Они широко используются неавтономно, и в составе более сложных схем, например, при построении сумматоров.

Таблица истинности (табл. 1.6) отражает логику работы i-го раз­ряда схемы сравнения при сравнении двух векторов — А и В. На рис. 9. показана структурная схема компаратора.

Таблица 1.6

Таблица истинности компаратора

Входы

Выходы

 аi         bi

      Yi

0

0

1

0

1

0

1

0

0

1

1

1


                Логическая зависимость компаратора:

На схеме 1.13. У1 и У3 соответствующие сигналам «больше» и «меньше».

Рис. 9. Структурная схема компаратора (а) и обозначение компаратора на принципиальных электрических схемах (б)

2.  Схемы с памятью

Более сложным преобразователем информации являются схемы с памятью. Наличие памяти в схеме позволяет запоминать промежу­точные состояния обработки и учитывать их значения в дальнейших преобразованиях. Выходные сигналы Y= (y1,y2,…,yn) в схемах дан­ного типа формируются не только по совокупности входных сигна­лов Х = (x1,x2,…,xn), но и по совокупности состояний схем памяти Q = (q1,q2,…,qk).  При этом различают текущий дискретный момент времени t и последующий (t + 1) момент времени.

Передача значения Q между моментами времени t и (t+1) осуще­ствляется обычно с применением двухступенчатой памяти и синхро­низирующих импульсов (СИ).

В качестве простейшего запоминающего элемента в современных ЭВМ используют триггеры.

Перейдем к описанию работы триггера. Соответствующая его работе таблица истинности (табл. 1. 7) приведена ниже.

Таблица 1. 7

           Таблица истинности RS-триггера

Выходы

Промежуточные значения

Выходы

Режимы

S

R

Q

0

0

1

1

0

1

0

1

1

1

0

0

1

0

1

0

X

0

1

(1

X

1

0

1)

Хранение

Сброс

Установка

Запрещено

Рис. 10. Логическая схема триггера

Как видно из рис. 10, простейший вариант триггера собирается из четырех логических элементов И-НЕ, причем два из них играют вспомогательную роль Триггер имеет два входа, обозначенные на схеме R и S, а также два выхода, поме­ченные буквой Q  прямой и инверсный (черта над Q у инверсного выхода означает отрицание). Триггер устроен таким образом, что на прямом и инверсном выходах сигналы всегда противоположны.

Как работает триггер? Пусть на входе R установлена 1, а на S  0. Логические элементы D1 и D2 инвертируют эти сигналы, т. е. меняют их значения на противо­положные. В результате на вход элемента D3 поступает 1, а на D4  0. Поскольку на одном из входов D4 есть 0, независимо от состояния другого входа на его выходе (он же является инверсным выходом триггера!) обязательно установится 1. Эта единица передается на вход элемента D3 и в сочетании с 1 на другом входе порождает на выходе D3 логический 0. Итак, при R=1 и S=0 на прямом выходе триггера устанавливается 0, а на инверсном 1.

Обозначение состояния триггера по договоренности связывается с прямым выходом. Тогда при описанной выше комбинации входных сигналов результирующее состояние можно условно назвать нулевым: говорят, что триггер «устанавливается 0» или «сбрасывается». Сброс по-английски называется «Reset», отсюда вход, появление сигнала на котором приводит к сбросу триггера, обычно обозначают буквой R.

Проведите аналогичные рассуждения для «симметричного» случая R = 0 и S = 1. Вы  увидите, что на прямом выходе получится логическая 1, а на инверсном 0. Триггер перейдет в единичное состояние  «установится» (установка по-английски «Set»).

Теперь рассмотрим наиболее распространенную и интересную ситуацию R = 0 и с = 0  входных сигналов нет. Тогда на входы элементов D3 и D4, связанные с R и с  будет подана 1 и их выходной сигнал будет зависеть от сигналов на противоположных входах. Нетрудно убедится, что такое состояние будет устойчивым. Пусть, например, на прямом выходе 1. Тогда наличие единиц на обоих входах элемента D4 «подтверждает» нулевой сигнал на его выходе. В свою очередь, наличие 0 на инверсном выходе передается на D3 и поддерживает его выходное единичное состояние. Аналогично доказывается устойчивость картины и для противополож­ного состояния триггера, когда Q = 0.

Таким образом, при отсутствии входных сигналов триггер сохраняет свое «предыдущее» состояние. Иными словами, если на вход R подать 1, а затем убрать, триггер установится в нулевое состояние и будет его сохранять, пока не поступит сигнал на другой вход S. В последнем случае он перебросится в единичное состояние, и после прекращения действия входного сигнала будет сохранять на прямом выходе 1. Мы видим, что триггер обладает замечательным свойством: после снятия входных сигналов он сохраняет свое состояние, а значит, может служить устройст­вом для хранения одного бита информации.

В заключение проанализируем последнюю комбинацию входных сигналов: R = 1 и S = 1. Нетрудно убедиться (проделайте необходимые рассуждения самостоятель­но), что в этом случае на обоих выходах триггера установится 1! Такое состояние помимо своей логической абсурдности еще и является неустойчивым: после снятия входных сигналов триггер случайным образом перейдет в одно из своих устойчи­вых состояний. Вследствие этого, комбинация R = 1 и S = 1 никогда не используется на практике и является запрещенной.

Мы рассмотрели простейший RS-триггер. Существуют и другие разновидности этого интересного и полезного устройства. Все они различаются не столько прин­ципом работы, сколько входной логикой, усложняющей «поведение» триггера.

Триггеры очень широко применяются в вычислительной технике. На их основе изготовляются всевозможные регистры для хранения и некоторых видов обработки (например, сдвига) двоичной информации, счетчики импульсов и даже интеграль­ные микросхемы статического ОЗУ, не требующие для сохранения информации специальных процессов регенерации. Множество триггеров входят в состав любого микропроцессора.

Триггер помнит только один двоичный разряд. Для хранения мно­горазрядных чисел триггеры объединяют в устройство, называемое реги­стром. Регистр — важнейший элемент ВМ, являющийся типовым блоком памяти малого объёма ОЗУ. Различают регистры общего и специального назначения. Регистры составляют основу архитектуры процессора.

Среди обязательного набора регистров можно отметить следующие. Регистр данных — служит для временного хранения промежуточных резуль­татов при выполнении операций. Регистр аккумулятор — регистр временного хранения, который используется в процессе вычислении (например, в нем формируется результат выполнения команды умножения). Регистр указатель стека — используется при операциях со стеком, т.е. такой структурой данных, которая работает по принципу: последним вошел — первым вышел, т.е. последнее записанное в нем значение извлекается из него первым. Пока отметим только, что стеки используются для организации подпрограмм. Индексные, указательные и базовые регистры используются для хранения и вычисления адресов операндов в памяти. Регистры-счетчики используются для организации циклических участков в программах. Регистры об­щего назначения, имеющиеся во многих ВМ, могут использоваться для любых целей. Точное назначение такого регистра определяет программист при написании программы. Они могут использоваться для временного хранения данных, в качестве аккумуляторов, а также в качестве индексных, базовых, указательных регистров. Количество регистров и связей между ними оказывает существенное влияние на сложность и стоимость процессора. Однако, с другой стороны, нали­чие большого количества регистров с богатым набором возможно­стей упрощает программирование и повышает гибкость программно­го обеспечения. Кроме перечисленных регистров в состав ЦП могут входить регистры специального назначения, внутренние системные регистры, не доступные программно и используемые во время внутренних пересылок информации при выполнении команд. Это так называемые индикаторы, флаги и пр.

Условное обозначение регистра изображено на рис. 11.

Рис. 11. Условное обозначение регистра. С (Clock — часы) — вход синхронизирующих тактовых импуль­сов

Счётчиком называется функциональный узел, предназначенный для подсчета числа поступающих на его входы сигналов (обычно импульсов) и фиксации результата в виде многоразрядного двоичного числа. Количество разрядов (триггеров) в счётчике п определяет количество различных устойчивых состояний 2п такой триггерной системы. Последние называют коэффициентом перерасчёта Ксч. В основу построения любого счётчика положено свойство Т  триггера каждый раз изменять своё состояние при подаче очередного сигнала на счётный вход (рис.12.)

Рис. 12. Схема простейшего суммирующего двоичного счётчика

и временные диаграммы, поясняющие его работу

 

 

 

Сайт создан по технологии «Конструктор сайтов e-Publish»