Процессор Intel 286

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

Министерство образования Российской Федерации

Таганрогский Государственный Радиотехнический Университет

Кафедра Автомобильной Электроники

Реферат


Выполнили:

Студенты гр. Р-99

Андриевский В.

Апальков Д.

Априщенко А.

Воронин А.

Проверил:

Чернов Е. И.

Таганрог 2001

ВВЕДЕНИЕ

     Успехи новойтехнологии привели к широкому распространению персональных компьютеров,позволяющих решать задачи,требующие весьма больших вычислений.Типичным и наиболее распространенным представителем таких  мощных персоналок"  является   компьютер PC/AT производства фирмы IBM. Этот компьютер разработан на основе процессора 80286 фирмы INTEL,представляющего сейчас один из наиболее мощныхшестнадцатиразрядных микропроцессоров,хотя за последнее время появились более производительные  процессоры,и 80286 был снят с производства в ведущих странах.Но стоит остановиться на рассмотрении этого процессора и построенныхнаего основесистемах,т.к.  наих примере нагляднее всего получить представление о новом классе машин - серии AT.

     В данной работе рассмотрены основные данные и сравнительные характеристики на примере самой ранней модели компьютера на отдельных логических ИМС и некоторых БИС, без применения микросхем сверхвысокой степени интеграции и специальных ПЛИС и ПЛМ, на основе которых создаются компьютеры сегодня. Рассматривается центральный процессор с самой низкой тактовой частотой для 80286 чипов - 6 Мгц.

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

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

     Шины микрокомпьютераобразует группа линий передачи сигналов с адресной информацией,данных,а также управляющих сигналов. Фактическиее можно разделить на три части: адресную шину, шину данных и шину управляющих сигналов.

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

     Синхрогенератор генерирует тактовый сигнал CLK для  синхронизации внутреннего функционирования процессора и других микросхем. Сигнал RESET производит сброс процессора в начальное состояние. Это состояние показано на рисунке упрощенно. Сигнал –READY также формируется с помощьюсинхрогенератора.Он  предназначен

для удлиненияциклов при работе с медленными периферийными устройствами.

     На адреснуюшину,  состоящуюиз 24 линий,микропроцессор выставляет адрес байта или слова,который будет пересылаться по шине данных в процессор или из него. Кроме того, шина адреса используется микропроцессором дляуказанияадресов  периферийных портов, с которыми производится обмен данными.

     Шина данных состоит из 16 линий.по которым возможна передача как отдельных байтов. так и двухбайтовых слов. При пересылке байтов возможна передача и по старшим 8 линиям, и по младшим. Шина данных двунаправлена, так как передача байтов и слов может производится как в микропроцессор, так и из него.

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

     Микропроцессор используетшинный контроллер для формирования управляющих сигналов,определяющих перенос данных пошине. Он выставляет три сигнала -SO,-SI,M/-IO,  которые определяют тип цикла шины (подтверждение прерывания, чтение порта ввода/вывода,останов,чтение памяти,запись в память).На основании значений этих сигналов шинный контроллерформируетуправляющие сигналы, контролирующие динамику данного типа шины.

     Для того, чтобы понять динамику работы, разберем, каким образомосуществляется процессором чтение слов из оперативной памяти.  Это происходит в течение 4 тактов CLK,  или2состояний процессора(т.е.  каждоесостояниепроцессора  длится 2 такта синхросигнала CLK).  Во время первого состояния,обозначаемого, какТ_4s_0,процессор выставляет на адресную шину значение адреса, по которому будет читаться слово.Кроме того,  он формируетна шинесовместно  с шинным контроллером соответствующие значения управляющих сигналов.Эти сигналы и адрес обрабатываются схемой управления памятью, в результате чего, начиная с середины второго состояния процессора Т_4c_0 (т.е. в начале четвертого такта CLK), на шине данных появляется значение  содержимого соответствующего слова из оперативной памяти. И наконец, процессор считывает значениеэтого слова с шины данных.На этом перенос (копирование) значения слова из памяти в процессор заканчивается.

     Таким образом,если частота кварцевого генератора, определяющая частоту CLK,равна 20 МГц,то  максимальнаяпропускная способность шиныданныхравна (20/4) миллионов слов в секунду, или 10 В/сек. Реальная пропускная способность существенно ниже.

ОРГАНИЗАЦИЯ СИСТЕМЫ ШИН L,X,S и M

В КОМПЬЮТЕРЕ PC/AT

     На самом деле,в реальном компьютере имеетсяне  одна,а несколько шин (рис.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- шины от оперативной памяти.

РЕГИСТРЫ ПРОЦЕССОРА 80286

     Набор регистров процессора 80286 представляет собой строгое расширение набора регистров 8086,который имел 14 регистров.В процессоре 80286 появились дополнительно еще 5 новыхрегистров, в результате чего их общее число увеличилось до 19.

     Далее рассматриваются такназываемые  "видимые"регистры, содержимоекоторых можно либо прочитать,либо изменить программным способом.Отметим, что в процессоре имеются "невидимые регистры", хранящие  различнуюинформацию для работы процессора и ускоряющие его работу.  Регистры представлены на рисунке ("невидимые" изображены одинарной линией).

     Регистры можно объединить в группы по схожестивыполняемых ими функций. В первую группу, называемую группой регистров общего назначения, входят регистры 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. Все новые регистры служатдляуправления доступом к памяти и организации многозадачной работы процессора.

Память

            

     Системная плата предусматривает подключение двух банков памяти,  каждыйизкоторых содержит 128K 18-разрядных слов;при этом общий объем памяти составляет 512 кбайт с контролем по четности.

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

     Микропроцессор INTEL 80286 предусматривает 24-разрядную адресацию,16-разрядный интерфейс памяти,расширенный набор команд,функции ПДП и прерываний, аппаратное умножение и деление чисел с плавающей запятой,объединенное управлениепамятью, 4-уровневую защиту памяти,виртуальное адресное пространство на 1 гигабайт (1 073 741 824 байта) для каждой задачи и дварежима работы :режим реальной адресации, совместимый с микропроцессором 8086, и режим защищенной виртуальной адресации.

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

     В режиме реальной адресации физическая памятьмикропроцессора представляет собой непрерывный массив объемом до одного мегабайта.Микропроцессор обращается к памяти, генерируя 20-разрядные физические адреса.

     20-разрядный адрес сегмента памяти состоит из двухчастей: старшей 16-разрядной переменной части и младшей 4-разрядной части,которая всегда равна нулю. таким образом,адреса сегментов всегда начинаются с числа, кратного 16.

     В режиме реальной адресациикаждый  сегментпамятиимеет размер 64 Кбайта и может быть считан,записан или изменен. Если операнды данныхиликоманд  попытаютсявыполнитьциклический возвратк концу сегмента,   может произойти прерывание или возникнуть исключительная ситуация ;например,   если младший байт

слова смещен на FFFF,а старший байт равен 0000.если в режиме реальной адресации информация,содержащаяся в сегменте,не используетвсе64 Кбайт,неиспользуемое пространство может быть предоставлено другому сегменту в целях экономии физической памяти.

Режим защиты

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

     Режим защиты обеспечивает виртуальное адресное пространство на 1 гигабайт для каждой задачи в физическом адресном пространствена 16 Мегабайт.виртуальное пространство может быть больше физического,т.к. любое использование адреса,который не распределенв  физической памяти,   вызывает возникновение исключительной ситуации, требующей перезапуска.

     Как и  режимреальнойадресации,  режим защиты использует 32-разрядные указатели,состоящие из 16-разрядногоискателя  и компонентов смещения. искатель, однако,определяет индекс в резидентной таблице памяти, а не старшие 16 разрядов адреса реальной памяти. 24-разрядный базовый адрес желаемого сегмента памяти получают из таблиц памяти.для получения физическогоадреса  к базовому адресу сегмента добавляется 16-разрядное смещение. Микропроцессор автоматически обращается к таблицам,   когда  врегистрсегмента загружается искатель.Все команды,  выполняющие загрузку регистра, обращаются к таблицам памяти без дополнительнойпрограммнойподдержки.  таблицы памяти содержат 8-байтовые значения,называемые описателями.

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

     Микропроцессор 80286 работает с частотой 6 Мгц, в результате чего период синхроимпульсов составляет 167 Нс.

     Цикл шины требует 3 периода синхроимпульсов ( включаяодин цикложидания);  такимобразомдостигается  500-наносекундный 16-разрядный цикл работы микропроцессора. операции передачи данных по 8-разрядной шине на 8-разрядные устройства занимают 6 периодов синхроимпульсов (включая 4 цикла ожидания),в результате

чего достигается 1000-наносекундный цикл работы микропроцессора. Операции передачи данных по16-разряднойшине  на8-разрядные устройствазанимают  12периодовсинхроимпульсов ( включая 10 циклов ожидания ввода-вывода),   в результатечего  достигается 2000-наносекундный цикл работы микропроцессора.

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

     Микропроцессор немаскируемыхпрерываний  (НМП) 80286 и две микросхемы контроллера прерываний 8259A обеспечивают 16уровней системныхпрерываний.  нижеэтиуровни  приводятсяв порядке уменьшения приоритета.

     Замечание: как все прерывания, так и любое из них в отдельности, могут маскироваться (включая НМП микропроцессора).

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

     Ниже приводится описание сигналов канала ввода-выводасистемной платы.все сигнальные линииТТЛ-  совместимы.Адаптеры ввода-вывода должны рассчитываться максимально на две маломощных нагрузки ТТЛШ на одну линию.

     Адресные разряды 0 - 19 используются для адресации к памяти и устройствам ввода - вывода внутри системы. эти 20 адресных линий,вместе с линиями LA17 - LA23,обеспечивают доступ к 16 Мб памяти. SA0 - SA19 выводятся в системную шину, когда 'BALE' имеетвысокий уровень,   и защелкивается по заднему фронту 'BALE'. Эти сигналы генерируются микропроцессором или контроллеромПДП. Ими могут также управлять другие микропроцессоры или контроллеры ПДП, находящиеся на канале ввода-вывода.

     Эти сигналы (не защелкнутые) используютсядляадресации  к памяти и устройствам ввода-вывода внутри системы,они обеспечивают доступк 16 Мб памяти.Эти сигналы истинны,когда 'BALE' имеет высокий уровень.LA17 - LA23 незащелкиваются  вовремя циклов микропроцессора и поэтому не сохраняют истинность в течение всего цикла.Целью этих адресных линийявляется  генерация сигналов выбора памяти для циклов памяти с одним состоянием ожидания.эти сигналы выбора должны защелкиваться адаптерами ввода -вывода по заднему фронту 'BALE'.Этими сигналами могут также управлять другие микропроцессоры или контроллеры ПДП,находящи-еся на канале ввода-вывода.

CLK(O)

     Это сигнал синхронизации системы с частотой 6 Мгц, он рассчитан на цикл микропроцессора длительностью 167 Нс. Рабочий цикл составляет 50% этого сигнала. Сигнал должен использоваться только для целей синхронизации.он не предназначен для тех случаев, когда требуется постоянная частота.

RESET DRV(O)

     'RESET DRIVE' используется дляочистки  илиинициализации логическихсхем  системыпри включении питания или при падении напряжения на линии. этот сигнал активен при высоком уровне.

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

     Эти сигналы обеспечивают установку разрядов 0 - 15 для микропроцессора, памяти и устройств ввода-вывода. D0 является младшим разрядом,   а D15 - старшим.Все 8-разрядные устройствана канале ввода-вывода должны использовать для связи с микропроцессором разряды D0 - D7. 16-разрядные устройства используют разряды D0 - D15.для поддержки 8-разрядных устройств данные с линий D8 - D15 будут выводиться на линииD0  -D7во  времяциклов 8-разрядныхпередач  на эти устройства;при передаче данных из 16-разрядного микропроцессора на 8-разрядное устройство эти данные преобразуются в 8-разрядные.

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

     Сигнал 'BUS ADDRESS LATCH ENABLE' генерируется контроллером шины 82288 и используется на системнойплате  длязащелкивания истинныхадресов и сигналов выбора памяти,поступающих из микропроцессора. Канал ввода - вывода рассматривает его как индикатор истинного адреса микропроцессора или ПДП (когда используется

'AEN').Адреса микропроцессора SA0 - SA19 защелкиваются по заднему фронту 'BALE'. Во время циклов ПДП на 'BALE' устанавливается высокий уровень.

I/O CH CK (I)

     Сигнал '-I/OCHANNEL  CHECK'обеспечивает системную плату информацией об ошибках четности в памяти или устройствах наканале ввода - вывода.Когда сигнал активен, он индицирует неустранимую системную ошибку.

I/O CH RDY (I)

     Сигнал 'I/O CHANNEL READY' устанавливается памятью или устройством ввода-вывода на низкий уровень ( нет готовности), чтобы удлинить циклы ввода-вывода или памяти.  Любое устройство с низким быстродействием,использующее эту линию,должно установить на ней низкий уровень,как только обнаружит свой истинный адрес

и команду чтения или записи.Машинные циклы продлеваются на целое числопериодовсинхронизации (167 Нс).Этот сигнал должен сохранять низкий уровень не менее 2,5 Мкс.

IRQ3 - IRQ7, IRQ9 - IRQ12 и IRQ14 - IRQ15

     Сигналы 'INTERRUPTREQUEST' 3 - 7,9 - 12, 14 и 15 используются для сообщения микропроцессору о том,что устройство ввода-вывода требует обслуживания. Запросы на прерывание имеют приоритетную структуру: IRQ9 - IRQ12,14 и 15 имеют высший приоритет ( IRQ9 - наивысший),а IRQ3 - IRQ7 имеют низший приоритет (IRQ7 - наинизший).Запрос на прерываниегенерируется,   когда уровеньналинии IRQ изменяется с низкого на высокий.  Высокий уровень на линии должен сохраняться до тех пор,   пока микропроцессорне подтвердит запрос на прерывание ( подпрограмма обслуживания прерываний ). IRQ13 используется на системной плате,но не доступен на канале ввода-вывода.IRQ8 используется для часов реального времени.

-IOR(I/O)

     Сигнал '-I/O READ' обеспечивает передачу данных сустройства ввода - вывода в шину данных.Сигнал может управляться системным микропроцессором или контроллером ПДП или же микропроцессором или контроллером ПДП,   находящимися на канале ввода-вывода. Этот сигнал активен при низком уровне.

-IOW(I/O)

     Сигнал '-I/O WRITE' обеспечивает чтение данных из шины данныхвустройство ввода-вывода.Сигнал может управляться любым микропроцессором или контроллером ПДП  всистеме,активен  при низком уровне.

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

     Эти сигналы обеспечивают передачу данных с устройств памяти в шину данных. '-SMEMR' активен только тогда, когда адрес выбора памяти находится в нижнем 1 Мб пространства памяти.'-MEMR' активенвовсех циклах чтения памяти.'-MEMR' может управляться любым микропроцессором или контроллером ПДП в системе.

'-SMEMR' образуется из '-MEMR' и адреса выбора нижнего 1 Мб памяти.Если микропроцессор на канале ввода - вывода захочет управлять сигналом '-MEMR', то в течение одного периода синхронизации перед активизацией '-MEMR' все адресные линии на шине должны быть истинными. оба сигнала активны при низком уровне.

DRQ0 - DRQ3 и DRQ5 - DRQ7 (I)

     Запросы на ПДП 0 - 3 и 5 - 7 являются асинхронными запросами канала,используемыми периферийными устройствами и микропроцессорами канала ввода-вывода для получения ПДП ( или управления системой).  Запросыимеютприоритетную структуру :DRQ0 имеет высший приоритет, а DRQ7 - низший. Запрос генерируется путем установки  активного уровня на линии DRQ.  Линия DRQ должна сохранять высокий уровень до тех пор,   пока не станет активной линия подтверждения запроса на ПДП (DACK). По запросам DRQ0 - DRQ3 выполняется 8-разрядная передача,а по DRQ5 - DRQ716-разрядная. DRQ4используется  насистемной плате и не доступен для канала ввода- вывода.

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

     Сигналы подтверждения ПДП 0 - 3 и 5 -7  используютсядля подтверждениязапросов  наПДП (DRQ0 - DRQ7),они активны при низком уровне.

AEN (O)

     Сигнал 'ADDRESS ENABLE' используется для блокированиямикропроцессораи других устройств от канала ввода-вывода,   чтобы разрешить режим ПДП. Когда эта линия активна,управление адресной шиной, линиями команды чтения шины данных (для памяти и ввода-вывода)и  линиямикоманды записи(для памяти и  ввода-вывода) принадлежит контроллеру ПДП.

-REFRESH (I/O)

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

T/C (O)

     Сигнал 'TERMINAL COUNT' обеспечивает импульс,когда достигается заданное число циклов в любом канале ПДП.

SBHN (I/O)

     Сигнал 'BUSHIGH  ENABLE'(системный) индицирует передачу данных в верхнем байте шины данных,  SD8-SD15.  16-разрядные устройства используют 'SBHE', чтобы привязать буферы шины данных к SD8- SD15.

-MASTER (I)

     Этот сигналиспользуется с линией DRQ для получения управления системой. Процессор или контроллер ПДП на канале ввода-выводамогут  податьсигнал DRQ в канал ПДП в каскадном режиме и получить в ответ сигнал  -DACK.Получив-DACK,  микропроцессор ввода-вывода может установить на линии '-MASTER' низкий уровень,

что позволитей получить управление системными линиями адресов, данных и управления (состояние, называемое трехстабильным). Послеустановки низкого уровня на '-MASTER' процессор ввода-вывода должен подождать один системный период синхронизации, прежде чем получит управление линиями адресов и данных, и два периода синхронизации, прежде чем подать команду READ или WRITE. Если сигнал сохраняет низкий уровень более 15 Мкс,содержимое системной памяти может быть потеряно из-за отсутствия регенерации.

-MEM CS16 (I)

     Сигнал '-MEM 16 CHIP SELECT' сообщает системной плате,является ли данная передача 16-разрядной, содним состоянием ожидания и циклом памяти. Этот сигнал должен формироваться из адресавыбора устройства LA17 - LA23,   а управляться открытым коллектором илитрехстабильным формирователем,обеспечивающим ток

утечки 20 MA.

-I/O CS16 (I)

     Сигнал '-I/O 16 CHIP SELECT' сообщает системной плате,является ли данная передача 16-разрядной,с одним состоянием ожидания и циклом памяти. Этот сигнал должен формироваться из адреса выбора устройства,   а управляться открытымколлектором  или 3-стабильным  формирователем,  обеспечивающимток утечки 20 MA сигнал активен при низком уровне.

OSC (O)

     Сигнал 'OSCILLATOR' (OSC) является скоростным синхронизирующим сигналом с периодом 70 Нс (14,31818 Мгц).Этотсигнал  не синхронен с сигналом синхронизации системы. Рабочий цикл сигнала составляет 50 %.

0WS (I)

     Сигнал 'ZEROWAIT STATE' сообщает микропроцессору,что он может выполнить данный цикл шины без дополнительных цикловожидания.Чтобы исполнить цикл памяти для 16-разрядного устройства без циклов ожидания,сигнал '0WS' формируется из адресавыбора устройства,стробируемого командой чтения или записи. Чтобы исполнить цикл памяти для 8-разрядного устройства минимум сдвумя состояниями ожидания,   сигнал '0WS' должен активизироваться через один системный период синхронизации после того,как команда чтенияили  записистанет активной путем стробирования адресом выбора устройства.Команды чтения изаписи  активизируютсяпо заднему фронту системного синхроимпульса. '0WS' активен при низком уровне и должен управляться открытым коллектором или3-стабильным формирователем с током утечки 20 ма.

              

Сопроцессор

     Математический сопроцессор персонального компьютера IBMPC ATпозволяет ему выполнять скоростные арифметические и логарифмические операции,  а также тригонометрические функции с высокой точностью.

     Сопроцессор работает параллельнос  микропроцессором,это сокращает время вычислений,позволяя сопроцессору выполнять математические операции,в то время как микропроцессор занимается выполнением других функций.

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

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

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

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

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

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

     Сопроцессор имеет восемь80-разрядных  регистров,которые эквивалентныемкости  сорока 16-разрядных регистров в микропроцессоре. В регистрах можно хранить во время вычислений временные и постоянные результаты,что сокращает расход памяти,повышает быстродействие,   а также улучшает возможности доступак  шине. Пространстворегистров можно использовать как стек или как постоянный набор регистров .При использовании пространства вкачестве  стекаработаведется только с двумя верхними стековыми элементами. В следующей таблице показано представление больших и малых чисел в каждом типе данных.

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

     Математический сопроцессориспользует  тотже   генератор синхроимпульсов,   что и микропроцессор. Он работает с частотой, равной одной трети частоты системных  синхроимпульсовмикропроцессора.Сопроцессор подсоединен так,что он функционирует как устройство ввода-вывода через порт ввода-вывода с адресами 00F8, 00FA и 00FC.Микропроцессор посылает коды операций и операнды в эти порты ввода-вывода, через них он также принимает и записывает в память результаты вычислений. Сигнал занятости сопроцессора сообщает микропроцессору о том,   что он исполняет операции.По команде "WAIT" микропроцессор ожидает, пока сопроцессор закончит исполнение.

     Сопроцессор выявляетшесть различных исключительных ситуаций,которые могут возникнуть во время исполнения команды. Если маска соответствующего исключения в сопроцессоре не установлена, сопроцессор устанавливает сигнал ошибки, по которому генерируетсяпрерывание  13,и сигнал 'BUSY' фиксируется в установленном состоянии.Сигнал 'BUSY'можетбыть  очищенкомандойзаписи 8-разрядноговвода-вывода  по адресу F0,при условии что D0-D7 равны нулю.

     Код самоконтроля при включении питания в системном ПЗУ разрешает прерывание 13 и устанавливает вектор этогопрерывания,  указывающийна рабочую программу ПЗУ. Эта программа очищает защелку сигнала 'BUSY' и передает затемуправление по  адресу, указанномувектором немаскированного прерывания.Это позволяет использовать код, записанный для любого персонального компьютера IBM, в IBMPCAT. Драйвер немаскируемых прерываний должен прочитать состояние сопроцессора,чтобы определить, было ли НМП вызвано сопроцессором. Если нет, то управление передается исходному драйверу НМП.

     Сопроцессор предусматриваетдва  режимаработы,подобные двум режимам микропроцессора. после сброса при включении питания или  приоперациизаписи  ввода - вывода в порт с адресом 00F1 сопроцессор находится в режиме реальнойадресации.Этот  режим совместим с сопроцессором 8087,   который используется с другими персональными компьютерами IBM. Сопроцессор может быть переведен в режим защиты с помощью команды SETPM ESC. В режим реальной адресации он может возвратиться, если будет выполнена операция записиввода-вывода в порт с адресом 00F1,при условии что D0-D7 равны 0.

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

     Базовая система ввода-вывода (BIOS) находится в ПЗУ на системной плате.Она обеспечивает управление уровнями для основных устройствввода-вывода  в системе.На дополнительных адаптерах могут размещаться дополнительные модули ПЗУ,   которые обеспечивают управление уровнями устройства на этом дополнительном адаптере. Рабочие программы BIOS позволяют программисту, работающему на языке ассемблера,  выполнять операции ввода-вывода в блоковом (диски или дискеты) или в символьном формате без учета адресаи параметров устройства.BIOS предусматривает такие системные услуги,как определение времени суток и размера памяти.

     Целью BIOS является обеспечение операционной связи с системой и освобождение программиста от заботы об аппаратных характеристиках устройств.  Интерфейс BIOS отделяет пользователя от аппаратуры,позволяя добавлять к системе новые устройства, сохраняяпри этом связь с устройством на уровне BIOS.В этом случае аппаратные изменения и расширения становятся"прозрачными"для пользователя.

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

     Доступ к  BIOSобеспечивается через программные прерывания микросхемы 80286 в режиме реального времени.Каждая точка входа в BIOS доступна через собственное прерывание.например, для определения объема базового ОЗУ,  доступного в системе, содержащей 80286,  в режиме реального времени,  прерывание INT 12H вызывает рабочую программу BIOSа для определения размера памяти и возвращает полученное значение системе.

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

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

Список используемой литературы:

  1. «Персональный ЭВМ в инженерной практике» Т.Э. Кренкель, А.Г. Коган, А.М. ТараторинМосква. Радио и Связь 1989г.
  2. «Микропроцессорные средства и системы» В.М. Брябрин, Ландау И.Я. Неменман М.Е. 1990г.