Главная страница Комод Кухня Компьютерный стол Плетеная мебель Японский стиль Литература
Главная  Кремниевые микросхемы 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [ 24 ] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

обходимо прибавить еще число {103-3) 1э= ЮОю. Однако следующая единица переведет регистр в состояние 10000000, что соответствует записи числа -128io, и останется для слол<ения число (100 -i)io= = 99io Это число в сумме с максимальным отрицательным числом регистра даст результат (-128+99) io=-29io, указанный в ответе 110001 Ij по модулю (в дополнительном коде).

Во всех случаях появления ошибки действительного переполнения, как и в данном примере, значение знакового разряда в ответе всегда будет отличаться от значений знаковых разрядов складываемых чисел, которые в случае переполнения, естественно, не отличаются друг от друга (в противном случае при сложении переполнение не произошло бы).

Аналогичную ситуацию можно наблюдать при сложении больших отрицательных чисел:

,1 0000001, = -I27i 1 000001Ц = -l25io

О 0000 ЮОг Ф -252io

Таким образом, можно организовать проверку условия изменения значения знакового разряда, чтобы использовать эту информацию для указания на неблагополучие при сложении путем установки в соответствующее состояние специального одноразрядного флагового регистра переполнения.

Одноразрядные флаговые регистры, такие как регистры переполнения и переноса, для удобства обычно группируются вместе, образуя в микропроцессоре специальное устройство, называемое регистром состояния или ф.лаговым регистром.

Все арифметические и логические операции выполняются специальным устройством микропроцессора, называемым арифметическо-логическим устройством. В основе своей конструкции оно напоминает 8-разрядный сумматор. Однако существует возможность изменять выполняемые им операции, посылая в него определенные сигналы команд.

Большинство арифметическо-логических устройств микропроцессоров ориентировано на использование команды вычитания. Под действием этой команды в накапливающем сумматоре формируется обратный код данных, преобразуемый далее в дополнительный код путем прибавления единицы. Последний используется затем для сложения с содержимым указанной (определенной)



ячейки памяти, а окончательный ответ пересылается обратно в накапливающий сумматор.

Если отдельной команды вычитания, включающей в себя все эти этапы, не предусматривается, необходимо иметь несколько отдельных команд, позволяющих реализовать операцию вычитания поэтапно.

Что можно сказать об умножении и делении?

Обычно умножение и деление как отдельные операции в микропроцессорах не предусматриваются. Для их осуществления, как это будет показано позже, приходится прибегать к методу пера и бумаги , а затем эти операции выполняются с использованием специальной подпрограммы (части программы).

Прежде чем разбираться в том, как в арифметическо-логическом устройстве производятся операции умножения и деления, действия над дробями и сверхбольшими числами, необходимо рассмотреть в деталях работу специального устройства - регистра-аккумулятора, которая так тесно связана с работой арифметическо-логического устройства в целом, что понимание этого механизма совершенно необходимо до знакомства с описанием действия всего арифметическо-логического устройства и особенностей управления им. Однако сначала придется хотя бы в общих чертах познакомиться с регистрами.

ГЛАВА ШЕСТАЯ

Регистры

Что представляют собой регистры?

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



Что подразумевается под комбинационной и последо-вательностной логикой?

Все рассматривавшиеся ранее схемы относятся к комбинационной логике. Это означает, что в каждой схеме состояние выхода зависит только от текущих состояний входов. Другими словами, значение выхода формируется немедленно вслед за изменением значений входов (если не учитывать некоторой задержки распространения сигналов). Регистры должны конструироваться таким образом, чтобы их логика была последовательностной, поскольку состояния их выходов могут зависеть от последовательности предыдущих событий (последовательности смены состояний входов). Именно эта особенность и делает их чрезвычайно полезными в качестве устройств временного хранения данных и манипулирования данными.

Как устроены регистры?

Регистры состоят из последовательно соединенных элементов, известных как триггерные схемы, или триггеры, по одному триггеру для каждого двоичного разряда регистра. Триггер - это схема, имеющая два устойчивых состояния: ВКЛЮЧЕНО, обозначаемое 1, и ВЫКЛЮЧЕНО, обозначаемое 0. Таким образом, типовая последовательность смены состояний триггера может начинаться со значений входных и выходных сигналов, равных нулю. Если значение входного сигнала равно (1), то аналогичное значение будет и на выходе. Если значение сигнала на входе изменится на первоначальное (0), то на выходе сохранится значение [/+ (1). Чтобы на выходе триггера снова установился нулевой сигнал, может потребоваться другая последовательность событий (смены входных сигналов).

Некоторые регистры допускают двунаправленную передачу данных. Некоторые, принимая данные последовательно (по одному разряду в единицу времени), осуществляют параллельную их выдачу (например, восемь двоичных разрядов в единицу времени) или наоборот. Регистры такого типа могут быть использованы в качестве портов ввода-вывода на концах линий передачи данных, в частности, для сопряжения микро-ЭВМ с внешни-



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [ 24 ] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

© 2007 EPM-IBF.RU
Копирование материалов разрешено в случае наличия письменного разрешения