Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Цифровые устройства /

Алгоритм работы процессора

←предыдущая следующая→  
1 2 3 4 5 6 



Скачать реферат


2 Логические схемы

Логическое сложение, ИЛИ V, |, or 2 Логические схемы

Сдвиг влево > 2 Регистр

Инверсия (НЕ) !,not 1 Логические схемы

Увеличение на 1,

инкремент ++,inc 1 Сумматор

Уменьшение на 1,

декремент --,dec 1 Сумматор

Именно эти операции выполняются за один такт микропроцессора, и имеют наибольшую скорость выполнения. Фактически все другие операции осуще-ствляются с помощью этих девяти базовых. Так, умножение восьмиразрядных це-лых чисел A и B выполняются по следующему алгоритму:

1. Обнуляется результат.

2. Если последний разряд числа B - единица, ток результату прибавляется число A.

3. Число A сдвигается на разряд влево, а число B -- на разряд вправо.

4. Повторяются шаги со второго по третий семь раз.

Заметим, что сдвиг влево на 1 разряд соответствует умножению на два, а сдвиг вправо на один разряд - целочисленному делению на два.

Команда изменения знака числа будет следующей:

1. Вначале происходит инверсия числа.

2. После этого производится инкремент результата (т.е. к нему прибавляется единица.)

3. Таким образом число переводится в дополнительный код. Команда опреде-ления знака числа основывается просто на проверке самого старшего бита.

АЛУ для чисел с плавающей точкой

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

1. Находится разность порядков большего и меньшего числа.

2. Мантисса меньшего числа сдвигается вправо на число бит, рав-ное разности, полученное на шаге 1.

После этого производятся обычные целочисленные операции с мантис-сой. Далее, после получения результата вычислений иногда производится коррек-ция мантиссы числа с плавающей точкой. Алгоритм коррекции следующий:

1. Убираются все незначащие нули в левой части мантисса. Для этого осуществляется сдвиг влево мантиссы на n разрядов (n -- число незна-чащих нулей слева.)

2. После этого число n вычитается из порядка.

Как правило, операцию коррекции вызывают принудительно, а не запус-кают автоматически.

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

2.2.2. Прерывания процессора

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

• внешний сигнал по шине управления - маскируемых прерываний и не-маскируемого прерывания;

• аномальная ситуация, сложившаяся при выполнении команды про-граммы и препятствующую ее дальнейшему выполнению;

• находящаяся в программе команда прерывания.

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

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

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

Все особые случаи квалифицируются на:

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

Ловушка (trap). Особый случай, который возникает после окончания вино-ватой программы. После обслуживания ловушки процессор продолжает выполне-ние программы с команды, находящейся после виноватой. Типичный пример -- ко-манда прерывания INT n в процессорах семейства x86 или прерывание при пере-полнении.

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

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

Заключение

Переход на новые технологии изготовления процессоров, разработка но-вых алгоритмов их работы является перспективным продвижением данной отрас-ли. По прогнозам ученых скорость процессоров через 10 лет может достичь 20-ти кратного увеличения по сравнению с современными процессорами.

Автоматизм работы процессора, возможность выполнения длинных по-следовательных команд без участия человека – одна из основных отличительных особенностей ЭВМ как универсальной машины по обработке информации.

Список используемой литературы

1. «Микропроцессоры и микропроцессорные комплекты интегральных микро-схем», справочник, под ред. В.А. Шахнова, том 2, Москва «Радио и связь», 1998.

2. А.С. Басманов «МП и ОЭВМ», Москва, «Мир», 1998.

3. В.В. Сташин, А.В. Урусов «Программирование цифровых устройств на однокри-стальных микроконтроллерах», Москва, «Энергоатомиздат», 2001.

4. «Микропроцессоры», Учебное пособие в 5-ти книгах, под редакцией В.А. Шах-нова, Москва «Высшая школа», 1998.

5. «Новейшая энциклопедия персонального компьютера 2002», Москва «ОЛМА-ПРЕСС» 2002 год.


←предыдущая следующая→  
1 2 3 4 5 6 



Copyright © 2005—2007 «Mark5»