введение

Реферат




























ВВЕДЕНИЕ



     Успехи новой  технологии привели к широкому распространению персональных компьютеров,  позволяющих решать задачи,  требующие весьма больших вычислений.  Типичным и наиболее распространенным представителем таких  мощных персоналок"  является   компьютер 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/O  CHANNEL  CHECK'  обеспечивает системную плату информацией об ошибках четности в памяти или устройствах на  канале ввода - вывода.  Когда сигнал активен, он индицирует неустранимую системную ошибку.



I/O CH RDY (I) 

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

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



IRQ3 - IRQ7, IRQ9 - IRQ12 и IRQ14 - IRQ15 

     Сигналы 'INTERRUPT REQUEST' 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 - DRQ7  16-разрядная. 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) 

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

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

               

Сопроцессор



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

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

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

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

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

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



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



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

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



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



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



Базовая система ввода-вывода (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.





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



«Персональный ЭВМ в инженерной практике» Т.Э. Кренкель, А.Г. Коган, А.М. Тараторин  Москва. Радио и Связь 1989г.

«Микропроцессорные средства и системы» В.М. Брябрин, Ландау И.Я. Неменман М.Е. 1990г.