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