80286 процессор

Загрузить архив:
Файл: 80286.zip (16kb [zip], Скачиваний: 170) скачать

                           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).  Во время первого состояния,  обозначаемого,

как  Т4s0,  процессор выставляет на адресную шину значение адреса,

по которому будет читаться слово.  Кроме того,  он формирует  на

шине  совместно  с шинным контроллером сооответствующие значения

управляющих сигналов.  Эти сигналы и адрес обрабатываются схемой

управления памятью, в результате чего, начиная с середины второ-

го состояния процессора Т4c0 (т.е. в начале четвертого такта 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 х 10590 7,0  X7 ,0 2 х 10590   ║

║ целое       ║       ║          ║                             ║

╟─────────────╫───────╫──────────╫─────────────────────────────╢

║ Длинное     ║  64   ║    19    ║   -9 х 105180 7,0 X 7,0+9 х 105180  ║

║ целое       ║       ║          ║                             ║

╟─────────────╫───────╫──────────╫─────────────────────────────╢

║ Упакованное ║       ║          ║                             ║

║ десятичное  ║  80   ║    18    ║    -99...997 ,0 X 7, 0+99...99  ║

║ короткое    ║       ║          ║        (18 разрядов)        ║

╟─────────────╫───────╫──────────╫─────────────────────────────╢

║ Действит.   ║  32   ║   6-7    ║   8.43х105-370 7,0X7,03.37 х 105380 ║

║ длинное     ║       ║          ║                             ║

╟─────────────╫───────╫──────────╫─────────────────────────────╢

║ Действит.   ║  64   ║  15-16   ║ 4.19 х 105-3077,0X7,01.67 х 1053080║

║ временное   ║       ║          ║                             ║

╟─────────────╫───────╫──────────╫─────────────────────────────╢

║ Действит.   ║  80   ║    19    ║3.4 х 105-49320 7,0X7,01.2 х 10549320║

╚═════════════╩═══════╩══════════╩═════════════════════════════╝

.

                                - 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╔═════════════════════════════════════╗

              3║ Базовая система ввода-вывода (BIOS) ║

              3╚═════════════════════════════════════╝

     Базовая система ввода-вывода (BIOS) находится в ПЗУ на сис-

темной плате.  Она обеспечивает управление уровнями для основных

устройств  ввода-вывода  в системе.  На дополнительных адаптерах

могут размещаться дополнительные модули ПЗУ ,  которые обеспечи-

вают управление уровнями устройства на этом дополнительном адап-

тере. Рабочие программы BIOS позволяют программисту, работающему

на языке ассемблера,  выполнять операции ввода-вывода в блоковом

(диски или дискеты) или в символьном формате без учета адреса  и

параметров устройства.  BIOS предусматривает такие системные ус-

луги , как определение времени суток и размера памяти.


                                - 17 -

     Целью BIOS является обеспечение операционной связи с систе-

мой и освобождение программиста от заботы об аппаратных характе-

ристиках устройств.  Интерфейс BIOS отделяет пользователя от ап-

паратуры,  позволяя добавлять к системе новые устройства, сохра-

няя  при этом связь с устройством на уровне BIOS.  В этом случае

аппаратные изменения и расширения становятся  "прозрачными"  для

пользователя.

                       2┌────────────────────┐

                       2│ Использование BIOS │

                       2└────────────────────┘

     Доступ к  BIOS  обеспечивается через программные прерывания

микросхемы 80286 в режиме реального времени.  Каждая точка входа

в BIOS доступна через собственное прерывание.  например, для оп-

ределения объема базового ОЗУ,  доступного в системе, содержащей

80286,  в режиме реального времени , прерывание INT 12H вызывает

рабочую программу BIOSа для определения размера памяти и возвра-

щает полученное значение системе.

                      2┌─────────────────────┐

                      2│ Передача параметров │

                      2└─────────────────────┘

     Все параметры,  передающиеся в рабочие программы BIOS и об-

ратно,  проходят через регистры микросхемы 80286.  Вводная часть

каждой функции BIOS содержит регистры, используемые при вызове и

возврате, например , для определения размера памяти параметры не

передаются.  Размер  памяти  в килобайтах возвращается в регистр

AX.

  Если функция BIOS содержит в себе несколько возможных операций,

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

рацию,  например, для установки времени суток требуется следующая

программа:

MOV AH,1                        установить время суток

MOV CX,HIGH COUNT               установить текущее время

MOV DX,LOW COUNT

INT 1AH                         установить время

     для чтения времени суток:

MOV AH,0                        считать время суток

INT 1AH                         считать таймер

     Программы BIOS запоминают все регистры,  кроме AX и флагов.

Другие регистры изменяются по возврату только в том случае, если

они возвращают значение вызывающей программе.  Конкретное назна-

чение  регистра можно определить по вводной части каждой функции

BIOS.