Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцесоры_Ответы.docx
Скачиваний:
20
Добавлен:
17.03.2016
Размер:
1.98 Mб
Скачать

5.1.5. Фізична адреса байту в пам’яті.

Так как внутренние регистры – 16-разрядные (216 = 64 Кбайт), а шина адреса имеет ширину 20 бит (220 = 1Мбайт), то для формирования 20-разрядного физического адреса памяти используются: сегмент адреса и смещение адреса. Физический адрес записывается парой этих значений, разделенных двоеточием, и образуется следующим образом (рис.4):

  • значение сегмента адреса, берущегося из регистра, CS сдвигается на 4 бита влево с заполнением разрядов справа нулями;

  • к образовавшемуся 20-битовому значению прибавляется значение смещения адреса из регистра IP. При возникновении переполнения берется только пять 16-ричных цифр результата.

Например, адрес 40:1Ch соответствует физическому адресу 0041Ch.

Значение регистра CS

00

00

00

00

Регистр CS

15 0

+

Регистр IP

= 15 0

Физический

адрес

19 0

Рис.4. Схема определения физического адреса для микропроцессоров 8086/88

5.1.6. Формування логічного адресу.

Тема 5.2: Сопроцесор і арифметичне розширення процесору. Синхронізація програми та керування таймером.

5.2.1. Функції та призначення сопроцесору.

Сопроцессор - специальная интегральная схема, которая работает в содружестве с главным процессором. Обычно сопроцессор настраивается на выполнение какой-нибудь специфические функции - математической операции или графического представления. И эту операцию сопроцессор может реализовать во много раз быстрее, чем главный процессор. Таким образом компьютеp с сопроцессором работает намного проворнее. Сопроцессор - это обычный микропроцессор, но не столь универсальный. Обычно сопроцессор разрабатывается как специальное устройство по реализации конкретно определенной функции. Он выполняет программы содержащие последовательность микpопpоцессоpных команд. Сопроцессоры, большей частью использующиеся в PC, являются математическими сопроцессорами. В математике они специализируются по умножению и делению чисел. Математические сопроцессоры называют ещё процессорами с плавающей запятой. Преимущество, получаемое от установки математического сопроцессора, зависит от того какие задачи решаются на компьютере. Сопроцессор может уменьшить время выполнения математических операций, таких как умножение, деление, возведение в степень на 80% и более. Сопроцессор и главный микропроцессор могут работать на разных тактовых частотах (от собственных тактовых генераторов). Когда отношение частот микропроцессора и сопроцессора выражается целым числом, они работают синхронно и могут передавать информацию друг другу оптимальным образом. Несинхронизированная работа требует, чтобы один или другой из них ожидал завершения цикла своего партнёра, что влечёт за со бой появление небольшого, но реального периода ожидания. Семейство сопроцессоров Intel составляют: 8087, 80287, 80387, 80387SX. Как правило сопроцессоры работают как придатки центрального. Сопроцессоры могут выполнять свои функции параллельно с работой центрального процессора, то есть оба мозга в данном случае думают одновременно, потому что каждый из них читает свои команды прямо с шины, и центральному процессору не приходится прерываться, чтобы выдать команду сопроцессору.

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

Различают следующие виды сопроцессоров:

  • математические сопроцессоры общего назначения, обычно ускоряющие вычисления с плавающей запятой,

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

  • сопроцессоры для выполнения каких-либо узкоспециализированных вычислений.

Сопроцессоры могут входить в набор логики, разработанный одной конкретной фирмой (например Intel выпускала в комплекте с процессором 8086 сопроцессоры 8087 и 8089) или выпускаться сторонним производителем (например, Weitek (англ.) 1064 для Motorola m68k и 1067 для Intel 80286).

5.2.2. Призначення арифметичного розширення процесору.

Вместе с любыми процессорами фирмы Intel (и их аналогами) могут использоваться сопроцессоры. Они выполняют операции с плавающей запятой, которые потребовали бы больших затрат машинного времени от основного процессора. Выигрыш можно получить только при выполнении программ, написанных с расчетом на использование сопроцессора. Сопроцессоры выполняют такие сложные операции как точное деление, вычисление тригонометрических функций, извлечение квадратного корня и нахождение логарифма в 10-100 раз быстрее основного процессора. Точность результатов при этом значительно выше той, которая обеспечивается вычислителями, входящими в состав самих процессоров. Операции сложения, вычитания и умножения выполняются основным процессором и не передаются сопроцессору. Система команд сопроцессора отличается от системы команд процессора. Выполняемая программа должна сама определять наличие сопроцессора и после этого выполнять написанные для него инструкции, в противном случае сопроцессор только потребляет ток и ничего не делает. Большинство современных программ, рассчитанных на использование сопроцессора, обнаруживает его присутствие и использует предоставленные возможности. Наиболее эффективно сопроцессоры используются в программах со сложными математическими расчетами: в электронных таблицах, базах данных, статистических программах, системах автоматизированного проектирования. В работе с текстовыми редакторами сопроцессор совершенно не используется. Фирма Intel выпускает следующие сопроцессоры: 8087, 287, 387SX, 387DX, 487SX на отдельных кристаллах, а начиная с процессора 486DX сопроцессоры встроены в микросхему процессора.

5.2.3. Функції та призначення таймеру.

В якості системного таймера комп'ютера використовується мікросхема трьохканального 16-розрядного таймера i8254 чи її аналог. Таймер призначений для одержання програмно керованих часових затримок і генерації сигналів заданої частоти. Таймер дозволяє підвищити ефективність програмування процесів управління і синхронізації зовнішніх пристроїв, особливо в реальному часі.

Таймер містить три незалежних канали (0, 1 і 2), кожний з яких може бути, у принципі, запрограмований на роботу в одному із шести режимів відліку:

  • переривання термінального відліку;

  • програмований генератор одиночного імпульсу;

  • генератор імпульсів заданої частоти;

  • генератор прямокутних імпульсів типу "меандр";

  • програмно формований строб;

  • апаратно формований строб.