Компьютер PC/AT

 

ВВЕДЕНИЕ

 

Успехи новой технологии привели к широкому распространению

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

весьма больших вычислений. Типичным и наиболее распространенным

представителем таких мощных "персоналок" является компьютер

PC/AT производства фирмы IBM. Этот компьютер разработан на осно-

ве процессора 80286 фирмы INTEL, представляющего сейчас один из

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

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

80286 был снят с производства в ведущих странах. Но стоит оста-

новиться на рассмотрении этого процессора и построенных на его

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

представление о новом классе машин - серии AT.

В данной работе рассмотрены основные данные и сравнительные

характеристики на примере самой ранней моделе компьютера- на от-

дельных логических ИМС и некоторых БИС, без применения микросхем

сверхвысокой степени интеграции и специальных ПЛИС и ПЛМ, на ос-

нове которых создаются компьютеры сегодня. Рассматривается цент-

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

пов- 6 Мгц.

.

- 2 -

 3г===================================¬

 3¦ ФУНКЦИОНИРОВАНИЕ МИКРОКОМПЬЮТЕРОВ ¦

 3¦ С ШИННОЙ ОРГАНИЗАЦИЕЙ ¦

 3L===================================-

 

Шины микрокомпьютера образует группа линий передачи сигна-

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

лов. Фактически ее можно разделить на три части: адресную шину,

шину данных и шину управляющих сигналов.

Уровни этих сигналов в данный момент времени определяют

состояние системы в этот момент.

На рис. 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 ¦

 3L===================================-

 

На самом деле, в реальном компьютере имеется не одна, а

несколько шин (рис. 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 ¦

 3L===========================-

 

Набор регистров процессора 80286 представляет собой строгое

расширение набора регистров 8086, который имел 14 регистров. В

процессоре 80286 появились дополнительно еще 5 новых регистров,

в результате чего их общее число увеличилось до 19.

Далее рассматриваются так называемые "видимые" регистры,

содержимое которых можно либо прочитать, либо изменить прорам-

мным способом. Отметим, что в процессоре имеются "невидимые ре-

гистры", хранящие различную информацию для работы процессора и

ускоряющие его работу. Регистры представлены на рисунке ("неви-

димые" изображены одинарной линией).

.

- 4 -

 

г====T====¬

AX ¦ AH ¦ AH ¦

¦====+====¦

BX ¦ BH ¦ BL ¦

¦====+====¦

CX ¦ CH ¦ CL ¦

¦====+====¦

DX ¦ DH ¦ DL ¦

L====¦====-

г=========¬

¦ SP ¦

¦=========¦

¦ BP ¦

¦=========¦

¦ SI ¦

¦=========¦

----------------T-------------T---------------¬ ¦ DI ¦

¦Права доступа к¦Базовый адрес¦Размер сегмента¦ L=========-

¦ сегменту CS ¦ сегмента CS ¦ CS ¦ г=========¬

+---------------+-------------+---------------+ ¦ CS ¦

¦Права доступа к¦Базовый адрес¦Размер сегмента¦ ¦=========¦

¦ сегменту DS ¦ сегмента DS ¦ DS ¦ ¦ DS ¦

+---------------+-------------+---------------+ ¦=========¦

¦Права доступа к¦Базовый адрес¦Размер сегмента¦ ¦ SS ¦

¦ сегменту SS ¦ сегмента SS¦ SS ¦ ¦=========¦

+---------------+-------------+---------------+ ¦ ES ¦

¦Права доступа к¦Базовый адрес¦Размер сегмента¦ L=========-

¦ сегменту ES ¦ сегмента ES ¦ ES ¦ г=========¬

L---------------+-------------+---------------- ¦ IP ¦

L=========-

г=========¬

¦ F ¦

L=========-

г=========¬

¦ MSW ¦

L=========-

г=====================================T=========¬

¦ Базовый адрес таблицы ¦ GDTR ¦

L=====================================¦=========-

г=====================================T=========¬

¦ Базовый адрес таблицы ¦ IDTR ¦

L=====================================¦=========-

--------T-------------------------T-------------¬ г=========¬

¦ права ¦базовый адрес сегмента с ¦ размер сегм.¦ ¦ LDTR ¦

¦ ¦локальной дескрипторной ¦ с локальной ¦ L=========-

¦доступа¦ таблицей ¦ таблицей ¦

L-------+-------------------------+--------------

--------T-------------------------T-------------¬ г=========¬

¦ права ¦ базовый адрес сегмента ¦размер сегм. ¦ ¦ TR ¦

¦ ¦ состояния текущей ¦с состоянием ¦ L=========-

¦доступа¦ задачи ¦ задачи ¦

L-------+-------------------------+--------------

 

.

- 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¦ Память ¦

 3L========-

Системная плата предусматривает подключение двух банков па-

мяти, каждый из которых содержит 128K 18-разрядных слов; при

этом общий объем памяти составляет 512 кбайт с контролем по чет-

ности.

 3г================¬

 3¦ Микропроцессор ¦

 3L================-

Микропроцессор INTEL 80286 предусматривает 24-разрядную ад-

ресацию, 16-разрядный интерфейс памяти , расширенный набор ко-

манд, функции ПДП и прерываний , аппаратное умножение и деление

чисел с плавающей запятой , об'единенное управление памятью ,

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

1 гигабайт (1 073 741 824 байта) для каждой задачи и два режима

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

ром 8086, и режим защищенной виртуальной адресации.

 2---------------------------¬

 2¦ Режим реальной адресации ¦

 2L---------------------------

В режиме реальной адресации физическая память микропроцес-

сора представляет собой непрерывный массив объемом до одного ме-

гобайта. Микропроцессор обращается к памяти , генерируя 20-раз-

рядные физические адреса.

20-разрядный адрес сегмента памяти состоит из двух частей:

старшей 16-разрядной переменной части и младшей 4-разрядной час-

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

всегда начинаются с числа, кратного 16.

В режиме реальной адресации каждый сегмент памяти имеет

размер 64 Кбайта и может быть считан, записан или изменен. если

операнды данных или команд попытаются выполнить циклический

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

никнуть исключительная ситуация ; например , если младший байт

слова смещен на FFFF, а старший байт равен 0000. если в режиме

реальной адресации информация, содержащаяся в сегменте, не ис-

пользует все 64 кбайт, неиспользуемое пространство может быть

предоставлено другому сегменту в целях экономии физической памя-

ти.

 2---------------¬

 2¦ Режим защиты ¦

 2L---------------

Режим защиты предусматривает расширенное адресное прост-

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

ти , новые операции по поддержке операционных систем и виртуаль-

ной памяти.

Режим защиты обеспечивает виртуальное адресное пространство

на 1 гигабайт для каждой задачи в физическом адресном пространс-

тве на 16 Мегабайт. виртуальное пространство может быть больше

физического , т.к. любое использование адреса , который не расп-

ределен в физической памяти , вызывает возникновение исключи-

 

- 7 -

тельной ситуации, требующей парезапуска.

Как и режим реальной адресации, режим защиты использует

32-разрядные указатели, состоящие из 16-разрядного искателя и

компонентов смещения. искатель, однако , определяет индекс в ре-

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

ной памяти. 24-разрядный базовый адрес желаемого сегмента памяти

получают из таблиц памяти. для получения физического адреса к

базовому адресу сегмента добавляется 16-разрядное смещение. мик-

ропроцессор автоматически обращается к таблицам , когда в ре-

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

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

ной программной поддержки. таблицы памяти содержат 8-байтовые

значения , называемые описателями.

 

 3г============================¬

 3¦ Производительность системы ¦

 3L============================-

 

Микропроцессор 80286 работает с частотой 6 Мгц, в результа-

те чего период синхроимпульсов составляет 167 Нс.

Цикл шины требует 3 периода синхроимпульсов ( включая один

цикл ожидания); таким образом достигается 500-наносекундный

16-разрядный цикл работы микропроцессора. операции передачи дан-

ных по 8-разрядной шине на 8-разрядные устройства занимают 6 пе-

риодов синхроимпульсов (включая 4 цикла ожидания), в результате

чего достигается 1000-наносекундный цикл работы микропроцессора.

операции передачи данных по 16-разрядной шине на 8-разрядные

устройства занимают 12 периодов синхроимпульсов ( включая 10

циклов ожидания ввода-вывода) , в результате чего достигается

2000-наносекундный цикл работы микропроцессора.

.

- 8 -

 3г======================¬

 3¦ Системные прерывания ¦

 3L======================-

 

Микропроцессор немаскируемых прерываний (НМП) 80286 и две

микросхемы контроллера прерываний 8259A обеспечивают 16 уровней

системных прерываний. ниже эти уровни приводятся в порядке

уменьшения приоритета.

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

ности, могут маскироваться (включая НМП микропроцес-

сора).

г=================T========================================¬

¦ Уровень ¦ Функция ¦

¦=================+========================================¦

¦ Микропроцессор ¦ Контроль четности или каналов вво- ¦

¦ НМП ¦ да-вывода ¦

L=================¦========================================-

г==========================================================¬

¦ Контроллеры прерываний ¦

¦===T=========T============================================¦

¦ 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 ¦

L===¦=========¦============================================-

.

- 9 -

 3г=======================================¬

 3¦ Описание сигналов канала ввода-вывода ¦

 3L=======================================-

Ниже приводится описание сигналов канала ввода-вывода сис-

темной платы. все сигнальные линии ТТЛ- совместимы. адаптеры

ввода-вывода должны рассчитываться максимально на две маломощных

нагрузки ТТЛШ на одну линию.

 2----------------------------------¬

 2¦ Сигналы SA0 - SA19 (ввод-вывод) ¦

 2L----------------------------------

Адресные разряды 0 - 19 используются для адресации к памяти

и устройствам ввода - вывода внутри системы. эти 20 адресных ли-

ний, вместе с линиями LA17 - LA23 , обеспечивают доступ к 16 Мб

памяти. SA0 - SA19 выводятся в системную шину, когда 'BALE' име-

ет высокий уровень , и защелкивается по заднему фронту 'BALE'.

эти сигналы генерируются микропроцессором или контроллером пдп.

ими могут также управлять другие микропроцессоры или контроллеры

ПДП, находящиеся на канале ввода-вывода.

 2-----------------------------------¬

 2¦ Сигналы LA17 - LA23 (ввод-вывод) ¦

 2L-----------------------------------

Эти сигналы (незащелкнутые) используются для адресации к

памяти и устройствам ввода-вывода внутри системы, они обеспечи-

вают доступ к 16 Мб памяти. Эти сигналы истинны, когда 'BALE'

имеет высокий уровень. LA17 - LA23 не защелкиваются во время

циклов микропроцессора и поэтому не сохраняют истинность в тече-

ние всего цикла. Целью этих адресных линий является генерация

сигналов выбора памяти для циклов памяти с одним состоянием ожи-

дания. эти сигналы выбора должны защелкиваться адаптерами ввода

- вывода по заднему фронту 'BALE'. Этими сигналами могут также

управлять другие микропроцессоры или контроллеры ПДП , находящи-

еся на канале ввода-вывода.

 2---------¬

 2¦ CLK(O) ¦

 2L---------

Это сигнал синхронизации системы с частотой 6 Мгц, он расс-

читан на цикл микропроцессора длительностью 167 Нс. Рабочий цикл

составляет 50% этого сигнала. Сигнал должен использоваться толь-

ко для целей синхронизации. он не предназначен для тех случаев,

когда требуется постоянная частота.

 2---------------¬

 2¦ RESET DRV(O) ¦

 2L---------------

'RESET DRIVE' используется для очистки или инициализации

логических схем системы при включении питания или при падении

напряжения на линии. этот сигнал активен при высоком уровне.

.

- 10 -

 2-------------------------¬

 2¦ SD0 - SD15 (ввод-вывод)¦

 2L-------------------------

Эти сигналы обеспечивают установку разрядов 0 - 15 для мик-

ропроцессора, памяти и устройств ввода-вывода. D0 является млад-

шим разрядом , а D15 - старшим. Все 8-разрядные устройства на

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

сором разряды D0 - D7. 16-разрядные устройства используют разря-

ды D0 - D15. для поддержки 8-разрядных устройств данные с линий

D8 - D15 будут выводиться на линии D0 - D7 во время циклов

8-разрядных передач на эти устройства; при передаче данных из

16-разрядного микропроцессора на 8-разрядное устройство эти дан-

ные преобразуются в 8-разрядные.

 2---------------------------¬

 2¦ BALE(O) (с буферизацией) ¦

 2L---------------------------

Сигнал 'BUS ADDRESS LATCH ENABLE' генерируется контроллером

шины 82288 и используется на системной плате для защелкивания

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

ропроцессора. Канал ввода - вывода рассматривает его как индика-

тор истинного адреса микропроцессора или пдп (когда используется

'AEN'). Адреса микропроцессора SA0 - SA19 защелкиваются по зад-

нему фронту 'BALE'. Во время циклов ПДП на 'BALE' устанавливает-

ся высокий уровень.

 2-----------------¬

 2¦ -I/O CH CK (I) ¦

 2L-----------------

Сигнал '-I/O CHANNEL CHECK' обеспечивает системную плату

информацией об ошибках четности в памяти или устройствах на ка-

нале ввода - вывода. Когда сигнал активен, он индицирует неуст-

ранимую системную ошибку.

 2-----------------¬

 2¦ I/O CH RDY (I) ¦

 2L-----------------

Сигнал 'I/O CHANNEL READY' устанавливается памятью или уст-

ройством ввода-вывода на низкий уровень ( нет готовности), чтобы

удлинить циклы ввода-вывода или памяти. Любое устройство с низ-

ким быстродействием, использующее эту линию, должно установить

на ней низкий уровень, как только обнаружит свой истинный адрес

и команду чтения или записи. Машинные циклы продлеваются на це-

лое число периодов синхронизации (167 Нс). Этот сигнал должен

сохранять низкий уровень не менее 2,5 Мкс.

 2--------------------------------------------¬

 2¦ IRQ3 - IRQ7, IRQ9 - IRQ12 и IRQ14 - IRQ15 ¦

 2L--------------------------------------------

Сигналы '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) ¦

 2L------------

Сигнал '-I/O READ' обеспечивает передачу данных с устройс-

тва ввода - вывода в шину данных. Сигнал может управляться сис-

темным микропроцессором или контроллером ПДП или же микропроцес-

сором или контроллером ПДП , находящимися на канале ввода-выво-

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

 2------------¬

 2¦ -IOW(I/O) ¦

 2L------------

Сигнал '-I/O WRITE' обеспечивает чтение данных из шины дан-

ных в устройство ввода-вывода. Сигнал может управляться любым

микропроцессором или контроллером пдп в системе. активен при

низком уровне.

 2-----------------------¬

 2¦ -SMEMR(O) -MEMR(I/O) ¦

 2L-----------------------

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

в шину данных. '-SMEMR' активен только тогда, когда адрес выбора

памяти находится в нижнем 1 Мб пространства памяти. '-MEMR' ак-

тивен во всех циклах чтения памяти. '-MEMR' может управляться

любым микропроцессором или контроллером ПДП в системе. '-SMEMR'

образуется из '-MEMR' и адреса выбора нижнего 1 Мб памяти. Если

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

лом '-MEMR', то в течение одного периода синхронизации перед ак-

тивизацией '-MEMR' все адресные линии на шине должны быть истин-

ными. оба сигнала активны при низком уровне.

 2--------------------------------¬

 2¦ DRQ0 - DRQ3 и DRQ5 - DRQ7 (I) ¦

 2L--------------------------------

Запросы на ПДП 0 - 3 и 5 - 7 являются асинхронными запроса-

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

цессорами канала ввода-вывода для получения ПДП ( или управления

системой). Запросы имеют приоритетную структуру : DRQ0 имеет

высший приоритет, а DRQ7 - низший. Запрос генерируется путем ус-

тановки активного уровня на линии DRQ. Линия DRQ должна сохра-

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

подтверждения запроса на пдп (DACK). По запросам DRQ0 - DRQ3 вы-

полняется 8-разрядная передача, а по DRQ5 - DRQ7 16-разрядная.

DRQ4 используется на системной плате и не доступен для канала

ввода- вывода.

 2---------------------------------------------¬

 2¦ -DACK0 - -DACK3 и -DACK5 - -DACK7 (O) ¦

 2L---------------------------------------------

Сигналы подтверждения ПДП 0 - 3 и 5 - 7 используются для

подтверждения запросов на ПДП (DRQ0 - DRQ7), они активны при

низком уровне.

.

- 12 -

 2----------¬

 2¦ AEN (O) ¦

 2L----------

Сигнал 'ADDRESS ENABLE' используется для блокирования мик-

ропроцессора и других устройств от канала ввода-вывода , чтобы

разрешить режим ПДП. Когда эта линия активна , управление адрес-

ной шиной, линиями команды чтения шины данных (для памяти и вво-

да-вывода) и линиями команды записи (для памяти и ввода-вы-

вода) принадлежит контроллеру ПДП.

 2-----------------¬

 2¦ -REFRESH (I/O) ¦

 2L-----------------

Этот сигнал используется для индикации цикла регенерации и

может управляться микропроцессором на канале ввода-вывода.

 2----------¬

 2¦ T/C (O) ¦

 2L----------

Сигнал 'TERMINAL COUNT' обеспечивает импульс , когда дости-

гается заданное число циклов в любом канале ПДП.

 2-------------¬

 2¦ SBHN (I/O) ¦

 2L-------------

Сигнал 'BUS HIGH ENABLE' (системный) индицирует передачу

данных в верхнем байте шины данных, SD8 - SD15. 16-разрядные

устройства используют 'SBHE', чтобы привязать буферы шины данных

к SD8- SD15.

 2--------------¬

 2¦ -MASTER (I) ¦

 2L--------------

Этот сигнал используется с линией DRQ для получения управ-

ления системой. Процессор или контроллер ПДП на канале ввода-вы-

вода могут подать сигнал DRQ в канал ПДП в каскадном режиме и

получить в ответ сигнал -DACK. Получив -DACK, микропроцессор

ввода-вывода может установить на линии '-MASTER' низкий уровень,

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

данных и управления (состояние, называемое трехстабильным). Пос-

ле установки низкого уровня на '-MASTER' процессор ввода-вывода

должен подождать один системный период синхронизации, прежде чем

получит управление линиями адресов и данных, и два периода синх-

ронизации, прежде чем подать команду READ или WRITE. Если сигнал

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

мяти может быть потеряно из-за отсутствия регенерации.

 2----------------¬

 2¦ -MEM CS16 (I) ¦

 2L----------------

Сигнал '-MEM 16 CHIP SELECT' сообщает системной плате, яв-

ляется ли данная передача 16-разрядной, с одним состоянием ожи-

дания и циклом памяти. Этот сигнал должен формироваться из адре-

са выбора устройства LA17 - LA23, а управляться открытым кол-

лектором или трехстабильным формирователем, обеспечивающим ток

утечки 20 MA.

.

- 13 -

 2----------------¬

 2¦ -I/O CS16 (I) ¦

 2L----------------

Сигнал '-I/O 16 CHIP SELECT' сообщает системной плате, яв-

ляется ли данная передача 16-разрядной , с одним состоянием ожи-

дания и циклом памяти. Этот сигнал должен формироваться из адре-

са выбора устройства , а управляться открытым коллектором или

3-стабильным формирователем, обеспечивающим ток утечки 20 MA.

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

 2----------¬

 2¦ OSC (O) ¦

 2L----------

Сигнал 'OSCILLATOR' (OSC) является скоростным синхронизиру-

ющим сигналом с периодом 70 Нс (14,31818 Мгц). Этот сигнал не

синхронен с сигналом синхронизации системы. Рабочий цикл сигнала

составляет 50 %.

 2----------¬

 2¦ 0WS (I) ¦

 2L----------

Сигнал 'ZERO WAIT STATE' сообщает микропроцессору, что он

может выполнить данный цикл шины без дополнительных циклов ожи-

дания. Чтобы исполнить цикл памяти для 16-разрядного устройства

без циклов ожидания, сигнал '0WS' формируется из адреса выбора

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

полнить цикл памяти для 8-разрядного устройства минимум с двумя

состояниями ожидания , сигнал '0WS' должен активизироваться че-

рез один системный период синхронизации после того, как команда

чтения или записи станет активной путем стробирования адресом

выбора устройства. Команды чтения и записи активизируются по

заднему фронту системного синхроимпульса. '0WS' активен при низ-

ком уровне и должен управляться открытым коллектором или 3-ста-

бильным формирователем с током утечки 20 ма.

 

 3г=============¬

 3¦ Сопроцессор ¦

 3L=============-

 2-----------¬

 2¦ Описание ¦

 2L-----------

Математический сопроцессор персонального компьютера IBM PC

AT позволяет ему выполнять скоростные арифметические и логариф-

мические операции , а также тригонометрические функции с высокой

точностью.

Сопроцессор работает параллельно с микропроцессором, это

сокращает время вычислений , позволяя сопроцессору выполнять ма-

тематические операции , в то время как микропроцессор занимается

выполнением других функций.

Сопроцессор работает с семью типами числовых данных, кото-

рые делятся на следующие три класса:

- двоичные целые числа (3 типа);

- десятичные целые числа (1 тип);

- действительные числа (3 типа).

.

- 14 -

 2---------------------------¬

 2¦ Условия программирования ¦

 2L---------------------------

Сопроцессор предлагает расширенный набор регистров , команд

и типов данных для микропроцессора.

Сопроцессор имеет восемь 80-разрядных регистров, которые

эквивалентны емкости сорока 16-разрядных регистров в микропро-

цессоре. В регистрах можно хранить во время вычислений временные

и постоянные результаты , что сокращает расход памяти , повышает

быстродействие , а также улучшает возможности доступа к шине.

Пространство регистров можно использовать как стек или как пос-

тоянный набор регистров . При использовании пространства в ка-

честве стека работа ведется только с двумя верхними стековыми

элементами. В следующей таблице показано представление больших и

малых чисел в каждом типе данных.

.

- 15 -

 2------------------------¬

 2¦ Т И П Ы Д А Н Н Ы Х ¦

 2L------------------------

г=============T=======T==========T=============================¬

¦ Тип данных ¦ число ¦ верных ¦ приблизительный диапазон ¦

¦ ¦ битов ¦ значащих ¦ (десятичн.) ¦

¦ ¦ ¦ цифр ¦ ¦

¦=============+=======+==========+=============================¦

¦ Целое слово ¦ 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¦

L=============¦=======¦==========¦=============================-

.

- 16 -

 2----------------------------------¬

 2¦ Условия аппаратного обеспечения ¦

 2L----------------------------------

Математический сопроцессор использует тот же генератор

синхроимпульсов , что и микропроцессор. Он работает с частотой,

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

цессора. Сопроцессор подсоединен так , что он функционирует как

устройство ввода-вывода через порт ввода-вывода с адресами 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) ¦

 3L=====================================-

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

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

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

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

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

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

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

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

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

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

 

- 17 -

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

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

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

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

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

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

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

 2---------------------¬

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

 2L---------------------

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

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

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

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

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

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

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

 2----------------------¬

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

 2L----------------------

Все параметры, передающиеся в рабочие программы 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.