80286 процессор

Формат:

Дата создания: 10.10.2016

Размер: 14.09 KB

Скачать дипломную работу

                            3╔══════════╗                             3║ ВВЕДЕНИЕ ║                             3╚══════════╝      Успехи новой  технологии привели к широкому распространению персональных компьютеров,  позволяющих решать задачи,  требующие весьма больших вычислений.  Типичным и наиболее распространенным представителем таких  мощных  "персоналок"  является   компьютер PC/AT производства фирмы IBM. Этот компьютер разработан на осно- ве процессора 80286 фирмы INTEL,  представляющего сейчас один из наиболее мощных  шестнадцатиразрядных микропроцессоров,  хотя за последнее время появились более производительные  процессоры,  и 80286 был снят с производства в ведущих странах.  Но стоит оста- новиться на рассмотрении этого процессора и построенных  на  его основе  системах,  т.к.  на  их примере нагляднее всего получить представление о новом классе машин - серии AT.      В данной работе рассмотрены основные данные и сравнительные характеристики на примере самой ранней моделе компьютера- на от- дельных логических ИМС и некоторых БИС, без применения микросхем сверхвысокой степени интеграции и специальных ПЛИС и ПЛМ, на ос- нове которых создаются компьютеры сегодня. Рассматривается цент- ральный процессор с самой низкой тактовой частотой для 80286 чи- пов- 6 Мгц. .                                 - 2 -                  3╔═══════════════════════════════════╗                  3║ ФУНКЦИОНИРОВАНИЕ МИКРОКОМПЬЮТЕРОВ ║                  3║      С ШИННОЙ ОРГАНИЗАЦИЕЙ        ║                  3╚═══════════════════════════════════╝      Шины микрокомпьютера  образует группа линий передачи сигна- лов с адресной информацией,  данных,  а также управляющих сигна- лов. Фактически  ее можно разделить на три части: адресную шину, шину данных и шину управляющих сигналов.      Уровни этих  сигналов  в  данный  момент времени определяют состояние системы в этот момент.      На рис.  1 изображены синхрогенератор 82284, микропроцессор 80286 и шинный контроллер 82288.  Кроме того, показаны три шины: адреса, данных и управляющих сигналов.      Синхрогенератор генерирует тактовый сигнал CLK для  синхро- низации внутреннего функционирования процессора и других микрос- хем. Сигнал RESET производит сброс процессора в начальное состо- яние. Это состояние показано на рисунке упрощенно. Сигнал -READY также формируется с помощью  синхрогенератора.  Он  предназначен для удлинения  циклов при работе с медленными периферийными уст- ройствами.      На адресную  шину,  состоящую  из 24 линий,  микропроцессор выставляет адрес байта или слова,  который будет пересылаться по шине данных в процессор или из него. Кроме того, шина адреса ис- пользуется микропроцессором для  указания  адресов  периферийных портов, с которыми производится обмен данными.      Шина данных состоит из 16 линий.  по которым возможна пере- дача как отдельных байтов. так и двухбайтовых слов. При пересыл- ке байтов возможна передача и по старшим 8 линиям, и по младшим. Шина данных двунаправленна, так как передача байтов и слов может производится как в микропроцессор, так и из него.      Шина управления формируется сигналами,  поступающими непос- редственно от микропроцессора, сигналами от шинного контроллера, а также сигналами, идущими к микропроцессору от других микросхем и периферийных адаптеров.      Микропроцессор использует  шинный контроллер для формирова- ния управляющих сигналов,  определяющих перенос данных по  шине. Он выставляет три сигнала -SO,  -SI,  M/-IO,  которые определяют тип цикла шины (подтверждение прерывания, чтение порта ввода/вы- вода,  останов,  чтение памяти,  запись в память).  На основании значений этих сигналов шинный контроллер  формирует  управляющие сигналы, контролирующие динамику данного типа шины.      Для того, чтобы понять динамику работы, разберем, каким об- разом  осуществляется процессором чтение слов из оперативной па- мяти.  Это происходит в течение 4 тактов CLK,  или  2  состояний процессора  (т.е.  каждое  состояние  процессора  длится 2 такта синхросигнала CLK).  Во время первого состояния,  обозначаемого, как  Т 4s 0,  процессор выставляет на адресную шину значение адреса, по которому будет читаться слово.  Кроме того,  он формирует  на шине  совместно  с шинным контроллером сооответствующие значения управляющих сигналов.  Эти сигналы и адрес обрабатываются схемой управления памятью, в результате чего, начиная с середины второ- го состояния процессора Т 4c 0 (т.е. в начале четвертого такта CLK), на шине данных появляется значение  содержимого соответствующего слова из оперативной памяти. И наконец, процессор считывает зна- чение  этого слова с шины данных.  На этом перенос (копирование) значения слова из памяти в процессор заканчивается.                                 - 3 -      Таким образом,  если частота кварцевого генератора, опреде- ляющая частоту CLK,  равна 20 МГц,  то  максимальная  пропускная способность шины  данных  равна (20/4) миллионов слов в секунду, или 10 В/сек. Реальная пропускная способность существенно ниже.                3╔═══════════════════════════════════╗                3║ ОРГАНИЗАЦИЯ СИСТЕМЫ ШИН L,X,S и M ║                3║        В КОМПЬЮТЕРЕ PC/AT         ║                3╚═══════════════════════════════════╝      На самом деле,  в реальном компьютере имеется  не  одна,  а несколько шин (рис.  2).  Основных шин всего три, а обозначаются они как L- шина,  S- шина, X- шина. Нами ране рассматривалась L- шина. Можно ввести понятие удаленности шины от процессора,  счи- тая, что чем больше буферов отделяют шину, тем она более удалена от процессора.      Основной шиной, связывающей компьютер в единое целое, явля- ется S-  шина.  Именно  она  выведена на 8 специальных разъемов- слотов. Эти слоты хорошо видны на системной плате компьютера.  В них стоят платы периферийных адаптеров.      Линии адреса, идущие от микропроцессора, образуют так назы- ваемую L-  шину.  Для  передачи  этого адреса на S- шину имеются специальные буферные регистры- защелки. Эти регистры- защелки не только передают адрес с L- шины на S- шину, но так же разъединя- ют их в случае  необходимости.  Такая  необходимость  возникает, например, когда  осуществляется  прямой доступ к памяти.  В ютом случае на S- шину выставляют контроллер прямого доступа 8237А  и так называемые  страничные  регистры.  Они подключены к X- шине, которая так же через буферные регистры соединена с системной  S- шиной. Таким образом,  наличие трех шин позволяет выставлять ад- реса на системную шину различным микросхемам.      Все микросхемы на системной плате,  кроме процессора и соп- роцессора, подключены к X-  шине,  в  которой  имеется  адресная часть (XА- шина),  линия данных (XD- шина) и управляющие сигналы (XCTRL- шина).  Поэтому они отделены от процессора двумя буфера- ми: между L- и S- шинами и между S- и X- шинами.      Кроме этих трех шин в компьютере имеется M- шина,  предназ- наченная для  отделения системной S- шины от оперативной памяти.                    3╔═══════════════════════════╗                    3║ РЕГИСТРЫ ПРОЦЕССОРА 80286 ║                    3╚═══════════════════════════╝      Набор регистров процессора 80286 представляет собой строгое расширение набора регистров 8086,  который имел 14 регистров.  В процессоре 80286 появились дополнительно еще 5 новых  регистров, в результате чего их общее число увеличилось до 19.      Далее рассматриваются так  называемые  "видимые"  регистры, содержимое  которых можно либо прочитать,  либо изменить прорам- мным способом.  Отметим, что в процессоре имеются "невидимые ре- гистры", хранящие  различную  информацию для работы процессора и ускоряющие его работу.  Регистры представлены на рисунке ("неви- димые" изображены одинарной линией). .                                 - 4 -                                                   ╔════╦════╗                                                AX ║ AH ║ AH ║                                                   ╠════╬════╣                                                BX ║ BH ║ BL ║                                                   ╠════╬════╣                                                CX ║ CH ║ CL ║                                                   ╟════╬════╣                                                DX ║ DH ║ DL ║                                                   ╚════╩════╝                                                   ╔═════════╗                                                   ║   SP    ║                                                   ╠═════════╣                                                   ║   BP    ║                                                   ╠═════════╣                                                   ║   SI    ║                                                   ╠═════════╣ ┌───────────────┬─────────────┬───────────────┐   ║   DI    ║ │Права доступа к│Базовый адрес│Размер сегмента│   ╚═════════╝ │ сегменту CS   │ сегмента CS │      CS       │   ╔═════════╗ ├───────────────┼─────────────┼───────────────┤   ║   CS    ║ │Права доступа к│Базовый адрес│Размер сегмента│   ╠═════════╣ │ сегменту DS   │ сегмента DS │      DS       │   ║   DS    ║ ├───────────────┼─────────────┼───────────────┤   ╠═════════╣ │Права доступа к│Базовый адрес│Размер сегмента│   ║   SS    ║ │  сегменту SS  │  сегмента SS│       SS      │   ╠═════════╣ ├───────────────┼─────────────┼───────────────┤   ║   ES    ║ │Права доступа к│Базовый адрес│Размер сегмента│   ╚═════════╝ │  сегменту ES  │ сегмента ES │      ES       │   ╔═════════╗ └───────────────┴─────────────┴───────────────┘   ║   IP    ║                                                   ╚═════════╝                                                   ╔═════════╗                                                   ║    F    ║                                                   ╚═════════╝                                                   ╔═════════╗                                                   ║   MSW   ║                                                   ╚═════════╝             ╔═════════════════════════════════════╤═════════╗             ║        Базовый адрес таблицы        │  GDTR   ║             ╚═════════════════════════════════════╧═════════╝             ╔═════════════════════════════════════╤═════════╗             ║        Базовый адрес таблицы        │  IDTR   ║             ╚═════════════════════════════════════╧═════════╝ ┌───────┬─────────────────────────┬─────────────┐ ╔═════════╗ │ права │базовый адрес сегмента с │ размер сегм.│ ║  LDTR   ║ │       │локальной  дескрипторной │ с локальной │ ╚═════════╝ │доступа│        таблицей         │  таблицей   │ └───────┴─────────────────────────┴─────────────┘ ┌───────┬─────────────────────────┬─────────────┐ ╔═════════╗ │ права │ базовый адрес сегмента  │размер сегм. │ ║   TR    ║ │       │    состояния текущей    │с состоянием │ ╚═════════╝ │доступа│        задачи           │   задачи    │ └───────┴─────────────────────────┴─────────────┘ .                                 - 5 -      Регистры можно объединить в группы по схожести  выполняемых ими функций. В первую группу, называемую группой регистров обще- го назначения, входят регистры AX, BX, CX, DX. Они предназначены в основном  для хранения данных- шестнадцатибитных слов.  Только регистры BX и DX могут дополнительно использоваться  как  адрес- ные: регистр  BX- как адрес смещения байта или слова в оператив- ной памяти,  регистр DX- как адрес порта ввода/вывода. При обра- ботке данных  каждый  из  этих регистров имеет свои особенности. Например, регистр AX всегда используется как один из операндов в команде умножения,  регистр CX используется как счетчик командой LOOP организации цикла, DX как расширение регистра AX в командах умножения и деления. Эти регистры можно рассматривать как состо- ящие из двух однобайтовых регистров каждый:  AX состоит из AH  и AL, BX- из BH и BL и т.д.      Следующую группу образуют регистры  SP,  BP,  SI,  DI.  Эта группа называется  группой  адресных  и индексных регистров.  Из названия видно, что эти регистры могут использоваться в качестве адресных. Кроме того, их можно использовать в качестве операндов в инструкциях обработки данных.      Третья группа регистров CS, DS, SS, ES образует группу сег- ментных регистров.  В процессоре 80286 доступ к  данным  и  коду программы осуществляется через "окна" размером максимум 64К каж- дое. Есть окно с программой,  его начало определяется  регистром CS; есть окно с данными,  начало которого определяется регистром DS. Начало окна со стеком определяется регистром SS,  а дополни- тельного окна с данными- регистром ES.      В процессоре 80286 появилась возможность размещать  таблицу векторов прерываний  в произвольном месте оперативной памяти,  а не обязательно в самом начале,  как в процессоре 8086. Для этого имеется специальный регистр IDTR,  по структуре аналогичный спе- циальному сорокабитному регистру GDTR (определяющий положение  и размер глобальной дескрипторной таблицы,  для определения же ло- кальной дескрипторной таблицы имеется шестнадцатибитный  регистр LDTR). Он  определяет  начало и размер таблицы векторов прерыва- ний. Имеются так же специальные команды его чтения и записи.      Регистр IP  служит  для  хранения адреса смещения следующей исполняемой команды, а регистр F- для хранения флагов.      В процессоре  80286 появился новый регистр MSW,  называемый словом состояния,  или регистром состояния.  Его значение прежде всего  в том,  что,  загружая этот регистр состояния специальным значением (с битом PE=1),  мы тем самым переключаем режим работы с обычного на защищеннный.      И наконец,  последний девятнадцатый регистр TR  служит  для организации многозадачной работы процессора в защищенном режиме. В обычном режиме он просто недоступен.  Этот регистр служит  се- лектором сегмента состояния задачи. Существуют выполняемые толь- ко в защищеннном режиме команды чтения этого регистра TR и запи- си в него.      Таким образом,  а процессоре 80286 при сравнении его с 8086 появилось пять  новых  "видимых" регистров и шесть "невидимых" , четыре из которых связаны с регистрами CS, DS, SS, ES. Все новые регистры служат  для  управления доступом к памяти и организации многозадачной работы процессора. .                                 - 6 -                            3╔════════╗                            3║ Память ║                            3╚════════╝      Системная плата предусматривает подключение двух банков па- мяти,  каждый  из  которых содержит 128K 18-разрядных слов;  при этом общий объем памяти составляет 512 кбайт с контролем по чет- ности.                        3╔════════════════╗                        3║ Микропроцессор ║                        3╚════════════════╝      Микропроцессор INTEL 80286 предусматривает 24-разрядную ад- ресацию,  16-разрядный интерфейс памяти ,  расширенный набор ко- манд,  функции ПДП и прерываний , аппаратное умножение и деление чисел с плавающей запятой ,  об'единенное управление  памятью  , 4-уровневую защиту памяти , виртуальное адресное пространство на 1 гигабайт (1 073 741 824 байта) для каждой задачи и два  режима работы :  режим реальной адресации, совместимый с микропроцессо- ром 8086, и режим защищенной виртуальной адресации.                   2┌──────────────────────────┐                   2│ Режим реальной адресации │                   2└──────────────────────────┘      В режиме реальной адресации физическая память  микропроцес- сора представляет собой непрерывный массив объемом до одного ме- гобайта.  Микропроцессор обращается к памяти , генерируя 20-раз- рядные физические адреса.      20-разрядный адрес сегмента памяти состоит из двух  частей: старшей 16-разрядной переменной части и младшей 4-разрядной час- ти,  которая всегда равна нулю. таким образом , адреса сегментов всегда начинаются с числа, кратного 16.      В режиме реальной адресации  каждый  сегмент  памяти  имеет размер 64 Кбайта и может быть считан,  записан или изменен. если операнды данных  или  команд  попытаются  выполнить  циклический возврат  к концу сегмента ,  может произойти прерывание или воз- никнуть исключительная ситуация ;  например ,  если младший байт слова смещен на FFFF,  а старший байт равен 0000.  если в режиме реальной адресации информация,  содержащаяся в сегменте,  не ис- пользует  все  64 кбайт,  неиспользуемое пространство может быть предоставлено другому сегменту в целях экономии физической памя- ти.                         2┌──────────────┐                         2│ Режим защиты │                         2└──────────────┘      Режим защиты  предусматривает  расширенное  адресное прост- ранство физической и виртуальной памяти , механизмы защиты памя- ти , новые операции по поддержке операционных систем и виртуаль- ной памяти.      Режим защиты обеспечивает виртуальное адресное пространство на 1 гигабайт для каждой задачи в физическом адресном пространс- тве  на 16 Мегабайт.  виртуальное пространство может быть больше физического , т.к. любое использование адреса , который не расп- ределен  в  физической памяти ,  вызывает возникновение исключи-                                 - 7 - тельной ситуации, требующей парезапуска.      Как и  режим  реальной  адресации,  режим защиты использует 32-разрядные указатели,  состоящие из 16-разрядного  искателя  и компонентов смещения. искатель, однако , определяет индекс в ре- зидентной таблице памяти, а не старшие 16 разрядов адреса реаль- ной памяти. 24-разрядный базовый адрес желаемого сегмента памяти получают из таблиц памяти.  для получения физического  адреса  к базовому адресу сегмента добавляется 16-разрядное смещение. мик- ропроцессор автоматически обращается к таблицам ,  когда  в  ре- гистр  сегмента загружается искатель.  все команды,  выполняющие загрузку регистра, обращаются к таблицам памяти без дополнитель- ной  программной  поддержки.  таблицы памяти содержат 8-байтовые значения , называемые описателями.                   3╔════════════════════════════╗                   3║ Производительность системы ║                   3╚════════════════════════════╝      Микропроцессор 80286 работает с частотой 6 Мгц, в результа- те чего период синхроимпульсов составляет 167 Нс.      Цикл шины требует 3 периода синхроимпульсов ( включая  один цикл  ожидания);  таким  образом  достигается  500-наносекундный 16-разрядный цикл работы микропроцессора. операции передачи дан- ных по 8-разрядной шине на 8-разрядные устройства занимают 6 пе- риодов синхроимпульсов (включая 4 цикла ожидания),  в результате чего достигается 1000-наносекундный цикл работы микропроцессора. операции передачи данных по  16-разрядной  шине  на  8-разрядные устройства  занимают  12  периодов  синхроимпульсов ( включая 10 циклов ожидания ввода-вывода) ,  в результате  чего  достигается 2000-наносекундный цикл работы микропроцессора. .                                 - 8 -                      3╔══════════════════════╗                      3║ Системные прерывания ║                      3╚══════════════════════╝      Микропроцессор немаскируемых  прерываний  (НМП) 80286 и две микросхемы контроллера прерываний 8259A обеспечивают 16  уровней системных  прерываний.  ниже  эти  уровни  приводятся  в порядке уменьшения приоритета.      Замечание: как все прерывания, так и любое из них в отдель-             ности, могут маскироваться (включая НМП микропроцес-             сора).   ╔═════════════════╤════════════════════════════════════════╗   ║      Уровень    │                 Функция                ║   ╠═════════════════╪════════════════════════════════════════╣   ║  Микропроцессор │  Контроль четности или каналов вво-    ║   ║       НМП       │             да-вывода                  ║   ╚═════════════════╧════════════════════════════════════════╝   ╔══════════════════════════════════════════════════════════╗   ║                Контроллеры прерываний                    ║   ╠═══╤═════════╤════════════════════════════════════════════╣   ║ N │ Уровень │                  Функция                   ║   ╠═══╪═════════╪════════════════════════════════════════════╣   ║   │IRQ 0    │  выход 0 таймера                           ║   ║ 1 │IRQ 1    │  клавиатура (выходной буфер полон)         ║   ║   │IRQ 2    │  прерывание от CTRL 2                      ║   ╟───┼─────────┼────────────────────────────────────────────╢   ║   │IRQ 8    │  часы реального времени                    ║   ║   │IRQ 9    │  переадресовка программы к INT 0AH (IRQ 2) ║   ║   │IRQ 10   │  резерв                                    ║   ║   │IRQ 11   │  резерв                                    ║   ║ 2 │IRQ 12   │  резерв                                    ║   ║   │IRQ 13   │  сопроцессор                               ║   ║   │IRQ 14   │  контроллер жесткого диска                 ║   ║   │IRQ 15   │  резерв                                    ║   ╟───┼─────────┼────────────────────────────────────────────╢   ║   │IRQ 3    │  последовательный порт 2                   ║   ║   │IRQ 4    │  последовательный порт 1                   ║   ║ 1 │IRQ 5    │  параллельный порт 2                       ║   ║   │IRQ 6    │  контроллер накопителя на ГМД              ║   ║   │IRQ 7    │  параллельный порт 1                       ║   ╚═══╧═════════╧════════════════════════════════════════════╝ .                                 - 9 -              3╔═══════════════════════════════════════╗              3║ Описание сигналов канала ввода-вывода ║              3╚═══════════════════════════════════════╝      Ниже приводится описание сигналов канала ввода-вывода  сис- темной платы.  все сигнальные линии  ТТЛ-  совместимы.  адаптеры ввода-вывода должны рассчитываться максимально на две маломощных нагрузки ТТЛШ на одну линию.     2┌─────────────────────────────────┐     2│ Сигналы SA0 - SA19 (ввод-вывод) │     2└─────────────────────────────────┘      Адресные разряды 0 - 19 используются для адресации к памяти и устройствам ввода - вывода внутри системы. эти 20 адресных ли- ний,  вместе с линиями LA17 - LA23 , обеспечивают доступ к 16 Мб памяти. SA0 - SA19 выводятся в системную шину, когда 'BALE' име- ет  высокий уровень ,  и защелкивается по заднему фронту 'BALE'. эти сигналы генерируются микропроцессором или контроллером  пдп. ими могут также управлять другие микропроцессоры или контроллеры ПДП, находящиеся на канале ввода-вывода.     2┌──────────────────────────────────┐     2│ Сигналы LA17 - LA23 (ввод-вывод) │     2└──────────────────────────────────┘      Эти сигналы (незащелкнутые) используются  для  адресации  к памяти и устройствам ввода-вывода внутри системы,  они обеспечи- вают доступ  к 16 Мб памяти.  Эти сигналы истинны,  когда 'BALE' имеет высокий уровень.  LA17 - LA23 не  защелкиваются  во  время циклов микропроцессора и поэтому не сохраняют истинность в тече- ние всего цикла.  Целью этих адресных линий  является  генерация сигналов выбора памяти для циклов памяти с одним состоянием ожи- дания.  эти сигналы выбора должны защелкиваться адаптерами ввода -  вывода по заднему фронту 'BALE'.  Этими сигналами могут также управлять другие микропроцессоры или контроллеры ПДП , находящи- еся на канале ввода-вывода.     2┌────────┐     2│ CLK(O) │     2└────────┘      Это сигнал синхронизации системы с частотой 6 Мгц, он расс- читан на цикл микропроцессора длительностью 167 Нс. Рабочий цикл составляет 50% этого сигнала. Сигнал должен использоваться толь- ко для целей синхронизации.  он не предназначен для тех случаев, когда требуется постоянная частота.     2┌──────────────┐     2│ RESET DRV(O) │     2└──────────────┘      'RESET DRIVE' используется для  очистки  или  инициализации логических  схем  системы  при включении питания или при падении напряжения на линии. этот сигнал активен при высоком уровне. .                                 - 10 -     2┌────────────────────────┐     2│ SD0 - SD15 (ввод-вывод)│     2└────────────────────────┘      Эти сигналы обеспечивают установку разрядов 0 - 15 для мик- ропроцессора, памяти и устройств ввода-вывода. D0 является млад- шим разрядом ,  а D15 - старшим.  Все 8-разрядные устройства  на канале ввода-вывода должны использовать для связи с микропроцес- сором разряды D0 - D7. 16-разрядные устройства используют разря- ды D0 - D15.  для поддержки 8-разрядных устройств данные с линий D8 - D15 будут выводиться на линии  D0  -  D7  во  время  циклов 8-разрядных  передач  на эти устройства;  при передаче данных из 16-разрядного микропроцессора на 8-разрядное устройство эти дан- ные преобразуются в 8-разрядные.     2┌──────────────────────────┐     2│ BALE(O) (с буферизацией) │     2└──────────────────────────┘      Сигнал 'BUS ADDRESS LATCH ENABLE' генерируется контроллером шины 82288 и используется на системной  плате  для  защелкивания истинных  адресов и сигналов выбора памяти,  поступающих из мик- ропроцессора. Канал ввода - вывода рассматривает его как индика- тор истинного адреса микропроцессора или пдп (когда используется 'AEN').  Адреса микропроцессора SA0 - SA19 защелкиваются по зад- нему фронту 'BALE'. Во время циклов ПДП на 'BALE' устанавливает- ся высокий уровень.     2┌────────────────┐     2│ -I/O CH CK (I) │     2└────────────────┘      Сигнал '-I/O  CHANNEL  CHECK'  обеспечивает системную плату информацией об ошибках четности в памяти или устройствах на  ка- нале ввода - вывода.  Когда сигнал активен, он индицирует неуст- ранимую системную ошибку.     2┌────────────────┐     2│ I/O CH RDY (I) │     2└────────────────┘      Сигнал 'I/O CHANNEL READY' устанавливается памятью или уст- ройством ввода-вывода на низкий уровень ( нет готовности), чтобы удлинить циклы ввода-вывода или памяти.  Любое устройство с низ- ким быстродействием,  использующее эту линию,  должно установить на ней низкий уровень,  как только обнаружит свой истинный адрес и команду чтения или записи.  Машинные циклы продлеваются на це- лое число  периодов  синхронизации (167 Нс).  Этот сигнал должен сохранять низкий уровень не менее 2,5 Мкс.     2┌───────────────────────────────────────────┐     2│ IRQ3 - IRQ7, IRQ9 - IRQ12 и IRQ14 - IRQ15 │     2└───────────────────────────────────────────┘      Сигналы 'INTERRUPT REQUEST' 3 - 7,  9 - 12, 14 и 15 исполь- зуются для сообщения микропроцессору о том , что устройство вво- да-вывода требует обслуживания. Запросы на прерывание имеют при- оритетную структуру: IRQ9 - IRQ12 , 14 и 15 имеют высший приори- тет ( IRQ9 - наивысший),  а IRQ3 - IRQ7 имеют низший приоритет ( IRQ7 - наинизший).  Запрос на прерывание  генерируется  ,  когда уровень  на  линии IRQ изменяется с низкого на высокий.  Высокий уровень на линии должен сохраняться до тех пор ,  пока микропро- цессор  не подтвердит запрос на прерывание ( подпрограмма обслу-                                 - 11 - живания прерываний ). IRQ13 используется на системной плате , но не доступен на канале ввода-вывода.  IRQ8 используется для часов реального времени.     2┌───────────┐     2│ -IOR(I/O) │     2└───────────┘      Сигнал '-I/O READ' обеспечивает передачу данных с  устройс- тва ввода - вывода в шину данных.  Сигнал может управляться сис- темным микропроцессором или контроллером ПДП или же микропроцес- сором или контроллером ПДП ,  находящимися на канале ввода-выво- да. Этот сигнал активен при низком уровне.     2┌───────────┐     2│ -IOW(I/O) │     2└───────────┘      Сигнал '-I/O WRITE' обеспечивает чтение данных из шины дан- ных  в  устройство ввода-вывода.  Сигнал может управляться любым микропроцессором или контроллером пдп  в  системе.  активен  при низком уровне.     2┌──────────────────────┐     2│ -SMEMR(O) -MEMR(I/O) │     2└──────────────────────┘      Эти сигналы обеспечивают передачу данных с устройств памяти в шину данных. '-SMEMR' активен только тогда, когда адрес выбора памяти находится в нижнем 1 Мб пространства памяти.  '-MEMR' ак- тивен  во  всех циклах чтения памяти.  '-MEMR' может управляться любым микропроцессором или контроллером ПДП в системе.  '-SMEMR' образуется из '-MEMR' и адреса выбора нижнего 1 Мб памяти.  Если микропроцессор на канале ввода - вывода захочет управлять сигна- лом '-MEMR', то в течение одного периода синхронизации перед ак- тивизацией '-MEMR' все адресные линии на шине должны быть истин- ными. оба сигнала активны при низком уровне.     2┌───────────────────────────────┐     2│ DRQ0 - DRQ3 и DRQ5 - DRQ7 (I) │     2└───────────────────────────────┘      Запросы на ПДП 0 - 3 и 5 - 7 являются асинхронными запроса- ми канала,  используемыми периферийными устройствами и микропро- цессорами канала ввода-вывода для получения ПДП ( или управления системой).  Запросы  имеют  приоритетную структуру :  DRQ0 имеет высший приоритет, а DRQ7 - низший. Запрос генерируется путем ус- тановки  активного уровня на линии DRQ.  Линия DRQ должна сохра- нять высокий уровень до тех пор ,  пока не станет активной линия подтверждения запроса на пдп (DACK). По запросам DRQ0 - DRQ3 вы- полняется 8-разрядная передача,  а по DRQ5 - DRQ7  16-разрядная. DRQ4  используется  на  системной плате и не доступен для канала ввода- вывода.     2┌────────────────────────────────────────────┐     2│ -DACK0  - -DACK3   и  -DACK5  - -DACK7 (O) │     2└────────────────────────────────────────────┘      Сигналы подтверждения ПДП 0 - 3 и 5 -  7  используются  для подтверждения  запросов  на  ПДП (DRQ0 - DRQ7),  они активны при низком уровне. .                                 - 12 -     2┌─────────┐     2│ AEN (O) │     2└─────────┘      Сигнал 'ADDRESS ENABLE' используется для блокирования  мик- ропроцессора  и других устройств от канала ввода-вывода ,  чтобы разрешить режим ПДП. Когда эта линия активна , управление адрес- ной шиной, линиями команды чтения шины данных (для памяти и вво- да-вывода)  и  линиями  команды записи  (для памяти и  ввода-вы- вода) принадлежит контроллеру ПДП.     2┌────────────────┐     2│ -REFRESH (I/O) │     2└────────────────┘      Этот сигнал  используется для индикации цикла регенерации и может управляться микропроцессором на канале ввода-вывода.     2┌─────────┐     2│ T/C (O) │     2└─────────┘      Сигнал 'TERMINAL COUNT' обеспечивает импульс , когда дости- гается заданное число циклов в любом канале ПДП.     2┌────────────┐     2│ SBHN (I/O) │     2└────────────┘      Сигнал 'BUS  HIGH  ENABLE'  (системный) индицирует передачу данных в верхнем байте шины данных,  SD8  -  SD15.  16-разрядные устройства используют 'SBHE', чтобы привязать буферы шины данных к SD8- SD15.     2┌─────────────┐     2│ -MASTER (I) │     2└─────────────┘      Этот сигнал  используется с линией DRQ для получения управ- ления системой. Процессор или контроллер ПДП на канале ввода-вы- вода  могут  подать  сигнал DRQ в канал ПДП в каскадном режиме и получить в ответ сигнал  -DACK.  Получив  -DACK,  микропроцессор ввода-вывода может установить на линии '-MASTER' низкий уровень, что позволит  ей получить управление системными линиями адресов, данных и управления (состояние, называемое трехстабильным). Пос- ле  установки низкого уровня на '-MASTER' процессор ввода-вывода должен подождать один системный период синхронизации, прежде чем получит управление линиями адресов и данных, и два периода синх- ронизации, прежде чем подать команду READ или WRITE. Если сигнал сохраняет низкий уровень более 15 Мкс,  содержимое системной па- мяти может быть потеряно из-за отсутствия регенерации.     2┌───────────────┐     2│ -MEM CS16 (I) │     2└───────────────┘      Сигнал '-MEM 16 CHIP SELECT' сообщает системной плате,  яв- ляется ли данная передача 16-разрядной, с  одним состоянием ожи- дания и циклом памяти. Этот сигнал должен формироваться из адре- са  выбора устройства LA17 - LA23,   а управляться открытым кол- лектором или  трехстабильным формирователем,  обеспечивающим ток утечки 20 MA. .                                 - 13 -     2┌───────────────┐     2│ -I/O CS16 (I) │     2└───────────────┘      Сигнал '-I/O 16 CHIP SELECT' сообщает системной плате,  яв- ляется ли данная передача 16-разрядной , с одним состоянием ожи- дания и циклом памяти. Этот сигнал должен формироваться из адре- са выбора устройства ,  а управляться открытым  коллектором  или 3-стабильным  формирователем,  обеспечивающим  ток утечки 20 MA. сигнал активен при низком уровне.     2┌─────────┐     2│ OSC (O) │     2└─────────┘      Сигнал 'OSCILLATOR' (OSC) является скоростным синхронизиру- ющим сигналом с периодом 70 Нс (14,31818 Мгц).  Этот  сигнал  не синхронен с сигналом синхронизации системы. Рабочий цикл сигнала составляет 50 %.     2┌─────────┐     2│ 0WS (I) │     2└─────────┘      Сигнал 'ZERO  WAIT STATE' сообщает микропроцессору,  что он может выполнить данный цикл шины без дополнительных циклов  ожи- дания.  Чтобы исполнить цикл памяти для 16-разрядного устройства без циклов ожидания,  сигнал '0WS' формируется из адреса  выбора устройства , стробируемого командой чтения или записи. Чтобы ис- полнить цикл памяти для 8-разрядного устройства минимум с  двумя состояниями ожидания ,  сигнал '0WS' должен активизироваться че- рез один системный период синхронизации после того,  как команда чтения  или  записи  станет активной путем стробирования адресом выбора устройства.  Команды чтения и  записи  активизируются  по заднему фронту системного синхроимпульса. '0WS' активен при низ- ком уровне и должен управляться открытым коллектором или  3-ста- бильным формирователем с током утечки 20 ма.                           3╔═════════════╗                           3║ Сопроцессор ║                           3╚═════════════╝                            2┌──────────┐                            2│ Описание │                            2└──────────┘      Математический сопроцессор персонального компьютера IBM  PC AT  позволяет ему выполнять скоростные арифметические и логариф- мические операции , а также тригонометрические функции с высокой точностью.      Сопроцессор работает параллельно  с  микропроцессором,  это сокращает время вычислений , позволяя сопроцессору выполнять ма- тематические операции , в то время как микропроцессор занимается выполнением других функций.      Сопроцессор работает с семью типами числовых данных,  кото- рые делятся на следующие три класса:    - двоичные целые числа (3 типа);    - десятичные целые числа (1 тип);    - действительные числа (3 типа). .                                 - 14 -                      2┌──────────────────────────┐                      2│ Условия программирования │                      2└──────────────────────────┘      Сопроцессор предлагает расширенный набор регистров , команд и типов данных для микропроцессора.      Сопроцессор имеет восемь  80-разрядных  регистров,  которые эквивалентны  емкости  сорока 16-разрядных регистров в микропро- цессоре. В регистрах можно хранить во время вычислений временные и постоянные результаты , что сокращает расход памяти , повышает быстродействие ,  а также улучшает возможности доступа  к  шине. Пространство  регистров можно использовать как стек или как пос- тоянный набор регистров .  При использовании пространства в  ка- честве  стека  работа  ведется только с двумя верхними стековыми элементами. В следующей таблице показано представление больших и малых чисел в каждом типе данных. .                                 - 15 -                      2┌───────────────────────┐                      2│ Т И П Ы   Д А Н Н Ы Х │                      2└───────────────────────┘ ╔═════════════╦═══════╦══════════╦═════════════════════════════╗ ║ Тип данных  ║ число ║  верных  ║    приблизительный диапазон ║ ║             ║ битов ║ значащих ║   (десятичн.)               ║ ║             ║       ║   цифр   ║                             ║ ╠═════════════╬═══════╬══════════╬═════════════════════════════╣ ║ Целое слово ║  16   ║    4     ║    -32768    7, 0 X  7, 0 +32768    ║ ╟─────────────╫───────╫──────────╫─────────────────────────────╢ ║ Короткое    ║  32   ║    9     ║   -2 х 10 59 0  7, 0  X 7 , 0 2 х 10 59 0   ║ ║ целое       ║       ║          ║                             ║ ╟─────────────╫───────╫──────────╫─────────────────────────────╢ ║ Длинное     ║  64   ║    19    ║   -9 х 10 518 0  7, 0 X  7, 0+9 х 10 518 0  ║ ║ целое       ║       ║          ║                             ║ ╟─────────────╫───────╫──────────╫─────────────────────────────╢ ║ Упакованное ║       ║          ║                             ║ ║ десятичное  ║  80   ║    18    ║    -99...99 7 , 0 X  7,  0+99...99  ║ ║ короткое    ║       ║          ║        (18 разрядов)        ║ ╟─────────────╫───────╫──────────╫─────────────────────────────╢ ║ Действит.   ║  32   ║   6-7    ║   8.43х10 5-37 0  7, 0X 7, 03.37 х 10 538 0 ║ ║ длинное     ║       ║          ║                             ║ ╟─────────────╫───────╫──────────╫─────────────────────────────╢ ║ Действит.   ║  64   ║  15-16   ║ 4.19 х 10 5-307 7, 0X 7, 01.67 х 10 5308 0║ ║ временное   ║       ║          ║                             ║ ╟─────────────╫───────╫──────────╫─────────────────────────────╢ ║ Действит.   ║  80   ║    19    ║3.4 х 10 5-4932 0  7, 0X 7, 01.2 х 10 54932 0║ ╚═════════════╩═══════╩══════════╩═════════════════════════════╝ .                                 - 16 -                  2┌─────────────────────────────────┐                  2│ Условия аппаратного обеспечения │                  2└─────────────────────────────────┘      Математический сопроцессор  использует  тот  же   генератор синхроимпульсов ,  что и микропроцессор. Он работает с частотой, равной одной трети частоты системных  синхроимпульсов  микропро- цессора.  Сопроцессор подсоединен так , что он функционирует как устройство ввода-вывода через порт ввода-вывода с адресами 00F8, 00FA и 00FC.  Микропроцессор посылает коды операций и операнды в эти порты ввода-вывода, через них он также принимает и записыва- ет в память результаты вычислений. Сигнал занятости сопроцессора сообщает микропроцессору о том ,  что он исполняет операции.  По команде "WAIT" микропроцессор ожидает, пока сопроцессор закончит исполнение.      Сопроцессор выявляет  шесть различных исключительных ситуа- ций,  которые могут возникнуть во время исполнения команды. Если маска соответствующего исключения в сопроцессоре не установлена, сопроцессор устанавливает сигнал ошибки, по которому генерирует- ся  прерывание  13,  и сигнал 'BUSY' фиксируется в установленном состоянии.  Сигнал 'BUSY'  может  быть  очищен  командой  записи 8-разрядного  ввода-вывода  по адресу F0,  при условии что D0-D7 равны нулю.      Код самоконтроля при включении питания в системном ПЗУ раз- решает прерывание 13 и устанавливает вектор этого  прерывания  , указывающий  на рабочую программу ПЗУ. Эта программа очищает за- щелку сигнала 'BUSY' и передает затем  управление  по  адресу  , указанному  вектором немаскированного прерывания.  Это позволяет использовать код, записанный для любого персонального компьютера IBM, в IBM PC AT. Драйвер немаскируемых прерываний должен прочи- тать состояние сопроцессора,  чтобы определить, было ли НМП выз- вано сопроцессором. Если нет, то управление передается исходному драйверу НМП.      Сопроцессор предусматривает  два  режима  работы,  подобные двум режимам микропроцессора. после сброса при включении питания или  при  операции  записи  ввода - вывода в порт с адресом 00F1 сопроцессор находится в режиме реальной  адресации.  Этот  режим совместим с сопроцессором 8087 ,  который используется с другими персональными компьютерами IBM. Сопроцессор может быть переведен в режим защиты с помощью команды SETPM ESC. В режим реальной ад- ресации он может возвратиться, если будет выполнена операция за- писи  ввода-вывода в порт с адресом 00F1,  при условии что D0-D7 равны 0.                3╔═════════════════════════════════════λ