Сложение . 1.1. Вычитание. Умножение. определяется наличие переносов из двух старших разрядов числа. При использовании дополнительного кода единица переноса из знакового разряда игнорируется.
Сложение 0+0=0, 0+1=1, 1+0=1, 1+1=0+единица переноса, 1+1+единица переноса=1+единица переноса; 1. 1. Вычитание 0-0=0, 1-0=1, 0-1=1+единица заема; Умножение 0*0=0, 1*0=0, 0*1=0, 1*1=1. Сложение многоразрядных целых двоичных чисел производится по описанным выше правилам и с учетом переноса или заема единицы из предыдущего разряда. Если из старшего разряда представления многоразрядного целого числа получается единица переноса, такая ситуация называется переполнением разрядной сетки. Большинство программ обработки информации на языках высокого уровня в такой ситуации выдают и прекращает обработку В программах на Ассемблере программист должен сам в своей программе выявлять такие ситуации переполнения и предусматривать соответствующую обработку. При этом программист должен руководствоваться следующими правилами: определяется наличие переносов из двух старших разрядов числа - если переносов нет, то результат операции правильный; - если есть переносы из обеих разрядов, то результат операции тоже правильный; - если из одного разряда есть перенос, а из другого нет, то результат операции неверный, фиксируется ситуация переполнения. При использовании дополнительного кода единица переноса из знакового разряда игнорируется. Как видно из вышеизложенного, правило определения факта переноса оказывается достаточно сложным. Для его упрощения в ЭВМ часто используют модифицированные коды: для изображения знака числа используются 2 двоичных разряда, при этом знак " +" изображается комбинацией 00, а знак " -" -комбинацией 11. Тогда ситуация переполнения определяется при разных значениях битовых разрядов знака, а именно, если в знаковых разрядах получаются комбинации 01 или 10 - значит, произошло переполнение.
Умножение многоразрядных двоичных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения получаются после сдвигов умножителя. Единственной особенностью является то, что если сомножитель является отрицательным (знаковые разряды равны 11), то перед началом умножения следует приписать к нему слева столько единиц, сколько значащих разрядов у другого сомножителя справа от запятой. Результат произведения всегда получается в дополнительном коде. Операция деления представляется последовательностью операций вычитания и сдвига делителя. Следует отметить некоторые особенности выполнения операций над числами с плавающей запятой. При сложении или вычитании чисел с одинаковыми порядками, их мантиссы складываются или вычитаются, а порядку присваивается общее значение. Если порядки исходных чисел разные, то сначала эти порядки выравниваются (число с меньшим порядком приводится к числу с большим порядком), а затем мантиссы складываются или вычитаются. Сумма или разность имеют порядок большего числа. Если при нахождении суммы или разности получается переполнение, то мантисса сдвигается вправо на один разряд, а порядок результата увеличивается на 1. При умножении чисел с плавающей запятой их мантиссы перемножаются, а порядки складываются. При делении мантисса делимого делится на мантиссу делителя, а порядок результата получается как разница порядка делимого и делителя. При этом, если мантисса делимого больше мантиссы делителя, то частное окажется больше 1 (происходит переполнение). В этом случае частное сдвигается на 1 разряд вправо, а порядок результата увеличивается на 1. Тема 1. 5 Структура микропроцессора Intel Центральный процессор
УИ: Устройство управления ШИ: Шинный интерфейс
Шина
Рисунок 4. 1. Взаимодействие логических устройств процессора
Как показано на рис. 4. 1, процессор делится на 2 логических устройства: устройство исполнения (УИ) и шинный интерфейс (ШИ). УИ ответственно за выполнение инструкций, а ШИ – за доставку УИ данных и инструкций для обработки. УИ содержит АЛУ, УУ и регистры. Регистрами в схемотехнике называют электронные устройства, в которые можно записать информацию, сохранить ее и, при необходимости, прочитать. При этом регистры, как правило, обеспечивают более быстрый доступ к информации, чем доступ к содержимому ячеек памяти ОЗУ. Это обстоятельство и является причиной оснащения центрального процессора ЭВМ собственной памятью, причем в более поздних разработках микропроцессоров собственная память процессоров только увеличивается. Intel 8086 имеет 14 регистров: - универсальные AX, BX, CX, DX; - сегментные регистры CS, DS, SS, ES; - регистры смещения IP, SP, BP, SI, DI; - регистр флагов (регистр состояния) FL. Основная функция ШИ – управление шиной, сегментными регистрами и очередью исполнения. ШИ управляет шинами, передающими данные в УИ, память и внешние устройства ввода/вывода. Сегментные регистры управляют адресацией памяти. Еще одна функция ШИ – предоставлять доступ к инструкциям (командам программы). Поскольку инструкции исполняемой программы находятся в памяти, ШИ должен получить к ним доступ и поместить в очередь исполнения, размер которой меняется в зависимости от типа процессора и определяется размером кэша команд. Это позволяет ШИ предсказывать и загружать необходимые инструкции заранее, так что в очереди всегда есть инструкции, готовые к исполнению.
УИ и ШИ работают параллельно, и ШИ всегда на 1 шаг опережает УИ. УИ сообщает ШИ, когда ему необходим доступ к данным в памяти или к устройствам ввода/вывода. УИ также запрашивает инструкции для исполнения из очереди в ШИ. Самая верхняя инструкция – исполняемая в данный момент, а пока УИ занято выполнением данной инструкции, ШИ извлекает следующую инструкцию из памяти. Выполнение инструкций и их получение из памяти перекрываются по времени, за счет чего растет быстродействие процессора. (Заметим, что программисты не имеют доступа к вышеописанным элементам процессора).
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|