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