КОМПЬЮТЕР 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