Реферат: 80286 процессор
3╔══════════╗
3║ВВЕДЕНИЕ ║
3╚══════════╝
Успехи новой технологии привели к широкому распространению
персональныхкомпьютеров, позволяющих решатьзадачи, требующие
весьма большихвычислений. Типичным и наиболеераспространенным
представителемтаких мощных «персоналок» является компьютер
PC/ATпроизводства фирмы IBM. Этот компьютер разработан на осно-
ве процессора80286 фирмы INTEL, представляющего сейчасодин из
наиболеемощных шестнадцатиразрядныхмикропроцессоров, хотя за
последнее времяпоявились более производительные процессоры, и
80286 был снят спроизводства в ведущих странах. Но стоитоста-
новиться нарассмотрении этого процессора и построенных на его
основе системах, т.к. на их примере нагляднее всего получить
представление оновом классе машин — серии AT.
В данной работе рассмотрены основныеданные и сравнительные
характеристики напримере самой ранней моделе компьютера- на от-
дельныхлогических ИМС и некоторых БИС, без применения микросхем
сверхвысокойстепени интеграции и специальных ПЛИС и ПЛМ, на ос-
нове которыхсоздаются компьютеры сегодня. Рассматривается цент-
ральный процессорс самой низкой тактовой частотой для 80286 чи-
пов- 6 Мгц.
.
— 2 -
3╔═══════════════════════════════════╗
3║ ФУНКЦИОНИРОВАНИЕМИКРОКОМПЬЮТЕРОВ ║
3║ С ШИННОЙ ОРГАНИЗАЦИЕЙ ║
3╚═══════════════════════════════════╝
Шины микрокомпьютера образует группа линий передачи сигна-
лов с адреснойинформацией, данных, а также управляющих сигна-
лов.Фактически ее можно разделить на тричасти: адресную шину,
шину данных ишину управляющих сигналов.
Уровни этих сигналов в данный момент времени определяют
состояние системыв этот момент.
На рис. 1 изображены синхрогенератор 82284, микропроцессор
80286 и шинныйконтроллер 82288. Кроме того, показанытри шины:
адреса, данных иуправляющих сигналов.
Синхрогенератор генерирует тактовый сигналCLK для синхро-
низациивнутреннего функционирования процессора и других микрос-
хем. Сигнал RESETпроизводит сброс процессора в начальное состо-
яние. Этосостояние показано на рисунке упрощенно. Сигнал -READY
также формируетсяс помощью синхрогенератора. Он предназначен
дляудлинения циклов при работе с медленнымипериферийными уст-
ройствами.
На адресную шину, состоящую из 24 линий, микропроцессор
выставляет адресбайта или слова, который будетпересылаться по
шине данных впроцессор или из него. Кроме того, шина адреса ис-
пользуетсямикропроцессором для указания адресов периферийных
портов, скоторыми производится обмен данными.
Шина данных состоит из 16 линий. по которым возможна пере-
дача какотдельных байтов. так и двухбайтовых слов. При пересыл-
ке байтоввозможна передача и по старшим 8 линиям, и по младшим.
Шина данныхдвунаправленна, так как передача байтов и слов может
производится какв микропроцессор, так и из него.
Шина управления формируетсясигналами, поступающими непос-
редственно отмикропроцессора, сигналами от шинного контроллера,
а такжесигналами, идущими к микропроцессору от других микросхем
и периферийныхадаптеров.
Микропроцессор использует шинный контроллер для формирова-
ния управляющихсигналов, определяющих перенос данныхпо шине.
Он выставляет трисигнала -SO, -SI, M/-IO, которые определяют
тип цикла шины(подтверждение прерывания, чтение порта ввода/вы-
вода, останов, чтение памяти, запись впамять). На основании
значений этихсигналов шинный контроллер формирует управляющие
сигналы,контролирующие динамику данного типа шины.
Для того, чтобы понять динамику работы,разберем, каким об-
разом осуществляется процессором чтение слов изоперативной па-
мяти. Это происходит в течение 4 тактов CLK, или 2 состояний
процессора (т.е. каждое состояние процессора длится 2 такта
синхросигналаCLK). Во время первого состояния, обозначаемого,
как Т 4s 0, процессор выставляет на адресную шинузначение адреса,
по которому будетчитаться слово. Кроме того, он формирует на
шине совместно с шинным контроллером сооответствующие значения
управляющихсигналов. Эти сигналы и адресобрабатываются схемой
управленияпамятью, в результате чего, начиная с середины второ-
го состоянияпроцессора Т 4c 0 (т.е. в начале четвертого такта CLK),
на шине данныхпоявляется значение содержимогосоответствующего
слова изоперативной памяти. И наконец, процессор считывает зна-
чение этого слова с шины данных. На этом перенос (копирование)
значения слова изпамяти в процессор заканчивается.
— 3 -
Таким образом, если частота кварцевого генератора, опреде-
ляющая частотуCLK, равна 20 МГц, то максимальная пропускная
способностьшины данных равна (20/4) миллионов слов в секунду,
или 10 В/сек.Реальная пропускная способность существенно ниже.
3╔═══════════════════════════════════╗
3║ ОРГАНИЗАЦИЯСИСТЕМЫ ШИН L,X,S и M ║
3║ В КОМПЬЮТЕРЕ PC/AT ║
3╚═══════════════════════════════════╝
На самом деле, в реальном компьютере имеется не одна, а
несколько шин(рис. 2). Основных шин всего три, а обозначаются
они как L-шина, S- шина, X- шина. Нами ранерассматривалась L-
шина. Можноввести понятие удаленности шины от процессора, счи-
тая, что чембольше буферов отделяют шину, тем она более удалена
от процессора.
Основной шиной, связывающей компьютер вединое целое, явля-
ется S- шина. Именно она выведена на 8 специальных разъемов-
слотов. Эти слотыхорошо видны на системной плате компьютера. В
них стоят платыпериферийных адаптеров.
Линии адреса, идущие от микропроцессора,образуют так назы-
ваемую L- шину. Для передачи этого адреса на S- шину имеются
специальныебуферные регистры- защелки. Эти регистры- защелки не
только передаютадрес с L- шины на S- шину, но так же разъединя-
ют их вслучае необходимости. Такая необходимость возникает,
например,когда осуществляется прямой доступ к памяти. В ютом
случае на S- шинувыставляют контроллер прямого доступа 8237А и
такназываемые страничные регистры. Они подключены к X- шине,
которая так жечерез буферные регистры соединена с системной S-
шиной. Такимобразом, наличие трех шин позволяетвыставлять ад-
реса на системнуюшину различным микросхемам.
Все микросхемы на системной плате, кроме процессора и соп-
роцессора,подключены к X- шине, в которой имеется адресная
часть (XА-шина), линия данных (XD- шина) иуправляющие сигналы
(XCTRL-шина). Поэтому они отделены отпроцессора двумя буфера-
ми: между L- и S-шинами и между S- и X- шинами.
Кроме этих трех шин в компьютере имеетсяM- шина, предназ-
наченная для отделения системной S- шины от оперативнойпамяти.
3╔═══════════════════════════╗
3║ РЕГИСТРЫПРОЦЕССОРА 80286 ║
3╚═══════════════════════════╝
Набор регистров процессора 80286представляет собой строгое
расширение наборарегистров 8086, который имел 14регистров. В
процессоре 80286появились дополнительно еще 5 новых регистров,
в результате чегоих общее число увеличилось до 19.
Далее рассматриваются так называемые «видимые» регистры,
содержимое которых можно либо прочитать, либо изменить прорам-
мнымспособом. Отметим, что в процессореимеются «невидимые ре-
гистры»,хранящие различную информацию для работы процессора и
ускоряющие егоработу. Регистры представлены на рисунке(«неви-
димые»изображены одинарной линией).
.
— 4 -
╔════╦════╗
AX ║ AH ║ AH ║
╠════╬════╣
BX ║ BH ║ BL ║
╠════╬════╣
CX ║ CH ║ CL ║
╟════╬════╣
DX ║ DH ║ DL ║
╚════╩════╝
╔═════════╗
║ SP ║
╠═════════╣
║ BP ║
╠═════════╣
║ SI ║
╠═════════╣
┌───────────────┬─────────────┬───────────────┐ ║ DI ║
│Правадоступа к│Базовый адрес│Размер сегмента│ ╚═════════╝
│ сегментуCS │ сегмента CS │ CS │ ╔═════════╗
├───────────────┼─────────────┼───────────────┤ ║ CS ║
│Правадоступа к│Базовый адрес│Размер сегмента│ ╠═════════╣
│ сегментуDS │ сегмента DS │ DS │ ║ DS ║
├───────────────┼─────────────┼───────────────┤ ╠═════════╣
│Правадоступа к│Базовый адрес│Размер сегмента│ ║ SS ║
│ сегменту SS │ сегмента SS│ SS │ ╠═════════╣
├───────────────┼─────────────┼───────────────┤ ║ ES ║
│Правадоступа к│Базовый адрес│Размер сегмента│ ╚═════════╝
│ сегменту ES │ сегмента ES │ ES │ ╔═════════╗
└───────────────┴─────────────┴───────────────┘ ║ IP ║
╚═════════╝
╔═════════╗
║ F ║
╚═════════╝
╔═════════╗
║ MSW ║
╚═════════╝
╔═════════════════════════════════════╤═════════╗
║ Базовый адрес таблицы │ GDTR ║
╚═════════════════════════════════════╧═════════╝
╔═════════════════════════════════════╤═════════╗
║ Базовый адрес таблицы │ IDTR ║
╚═════════════════════════════════════╧═════════╝
┌───────┬─────────────────────────┬─────────────┐╔═════════╗
│ права│базовый адрес сегмента с │ размер сегм.│ ║ LDTR ║
│ │локальной дескрипторной │ с локальной │╚═════════╝
│доступа│ таблицей │ таблицей │
└───────┴─────────────────────────┴─────────────┘
┌───────┬─────────────────────────┬─────────────┐╔═════════╗
│ права│ базовый адрес сегмента │размер сегм. │ ║ TR ║
│ │ состояния текущей │с состоянием │╚═════════╝
│доступа│ задачи │ задачи │
└───────┴─────────────────────────┴─────────────┘
.
— 5 -
Регистры можно объединить в группы посхожести выполняемых
ими функций. Впервую группу, называемую группой регистров обще-
го назначения,входят регистры AX, BX, CX, DX. Они предназначены
в основном для хранения данных- шестнадцатибитныхслов. Только
регистры BX и DXмогут дополнительно использоваться как адрес-
ные: регистр BX- как адрес смещения байта или слова воператив-
ной памяти, регистр DX- как адрес порта ввода/вывода. Приобра-
ботке данных каждый из этих регистров имеет своиособенности.
Например, регистрAX всегда используется как один из операндов в
командеумножения, регистр CX используется каксчетчик командой
LOOP организациицикла, DX как расширение регистра AX в командах
умножения иделения. Эти регистры можно рассматривать как состо-
ящие из двуходнобайтовых регистров каждый: AXсостоит из AH и
AL, BX- из BH иBL и т.д.
Следующую группу образуют регистры SP, BP, SI, DI. Эта
группаназывается группой адресных и индексных регистров. Из
названия видно,что эти регистры могут использоваться в качестве
адресных. Крометого, их можно использовать в качестве операндов
в инструкцияхобработки данных.
Третья группа регистров CS, DS, SS, ESобразует группу сег-
ментныхрегистров. В процессоре 80286 доступк данным и коду
программыосуществляется через «окна» размером максимум 64К каж-
дое. Есть окно спрограммой, его начало определяется регистром
CS; есть окно сданными, начало которого определяетсярегистром
DS. Начало окнасо стеком определяется регистром SS, адополни-
тельного окна сданными- регистром ES.
В процессоре 80286 появилась возможностьразмещать таблицу
векторовпрерываний в произвольном местеоперативной памяти, а
не обязательно всамом начале, как в процессоре 8086. Дляэтого
имеетсяспециальный регистр IDTR, по структуреаналогичный спе-
циальномусорокабитному регистру GDTR (определяющий положение и
размер глобальнойдескрипторной таблицы, для определенияже ло-
кальнойдескрипторной таблицы имеется шестнадцатибитный регистр
LDTR). Он определяет начало и размер таблицы векторов прерыва-
ний. Имеются также специальные команды его чтения и записи.
Регистр IP служит для хранения адреса смещения следующей
исполняемойкоманды, а регистр F- для хранения флагов.
В процессоре 80286 появился новый регистр MSW, называемый
словомсостояния, или регистром состояния. Его значение прежде
всего в том, что, загружая этот регистрсостояния специальным
значением (сбитом PE=1), мы тем самым переключаемрежим работы
с обычного назащищеннный.
И наконец, последний девятнадцатый регистр TR служит для
организациимногозадачной работы процессора в защищенном режиме.
В обычном режимеон просто недоступен. Этот регистрслужит се-
лектором сегментасостояния задачи. Существуют выполняемые толь-
ко в защищеннномрежиме команды чтения этого регистра TR и запи-
си в него.
Таким образом, а процессоре 80286 при сравнении его с 8086
появилосьпять новых «видимых» регистров и шесть«невидимых» ,
четыре из которыхсвязаны с регистрами CS, DS, SS, ES. Все новые
регистрыслужат для управления доступом к памяти и организации
многозадачнойработы процессора.
.
— 6 -
3╔════════╗
3║ Память║
3╚════════╝
Системная плата предусматриваетподключение двух банков па-
мяти, каждый из которых содержит 128K18-разрядных слов; при
этом общий объемпамяти составляет 512 кбайт с контролем по чет-
ности.
3╔════════════════╗
3║Микропроцессор ║
3╚════════════════╝
Микропроцессор INTEL 80286 предусматривает24-разрядную ад-
ресацию, 16-разрядный интерфейс памяти , расширенный набор ко-
манд, функции ПДП и прерываний, аппаратноеумножение и деление
чисел с плавающейзапятой , об'единенное управление памятью ,
4-уровневуюзащиту памяти, виртуальное адресное пространство на
1 гигабайт (1 073741 824 байта) для каждой задачи и два режима
работы : режим реальной адресации, совместимый смикропроцессо-
ром 8086, и режимзащищенной виртуальной адресации.
2┌──────────────────────────┐
2│ Режим реальнойадресации │
2└──────────────────────────┘
Врежиме реальной адресации физическая память микропроцес-
сора представляетсобой непрерывный массив объемом до одного ме-
гобайта. Микропроцессор обращается к памяти,генерируя 20-раз-
рядные физическиеадреса.
20-разрядный адрес сегмента памяти состоитиз двух частей:
старшей16-разрядной переменной части и младшей 4-разрядной час-
ти, которая всегда равна нулю. таким образом,адреса сегментов
всегда начинаютсяс числа, кратного 16.
В режиме реальной адресации каждый сегмент памяти имеет
размер 64 Кбайтаи может быть считан, записан илиизменен. если
операндыданных или команд попытаются выполнить циклический
возврат к концу сегмента , может произойти прерывание или воз-
никнутьисключительная ситуация ; например, если младший байт
слова смещен наFFFF, а старший байт равен 0000. если в режиме
реальнойадресации информация, содержащаяся всегменте, не ис-
пользует все 64кбайт, неиспользуемое пространство можетбыть
предоставленодругому сегменту в целях экономии физической памя-
ти.
2┌──────────────┐
2│ Режимзащиты │
2└──────────────┘
Режим защиты предусматривает расширенное адресное прост-
ранствофизической и виртуальной памяти, механизмы защиты памя-
ти, новыеоперации по поддержке операционных систем и виртуаль-
ной памяти.
Режим защиты обеспечивает виртуальноеадресное пространство
на 1 гигабайт длякаждой задачи в физическом адресном пространс-
тве на 16 Мегабайт. виртуальное пространство может быть больше
физического,т.к. любое использование адреса, который не расп-
ределен в физической памяти , вызываетвозникновение исключи-
— 7 -
тельной ситуации,требующей парезапуска.
Как и режим реальной адресации, режим защиты использует
32-разрядныеуказатели, состоящие из16-разрядного искателя и
компонентовсмещения. искатель, однако, определяет индекс в ре-
зидентной таблицепамяти, а не старшие 16 разрядов адреса реаль-
ной памяти.24-разрядный базовый адрес желаемого сегмента памяти
получают изтаблиц памяти. для полученияфизического адреса к
базовому адресусегмента добавляется 16-разрядное смещение. мик-
ропроцессоравтоматически обращается к таблицам , когда в ре-
гистр сегмента загружается искатель. все команды, выполняющие
загрузкурегистра, обращаются к таблицам памяти без дополнитель-
ной программной поддержки. таблицы памятисодержат 8-байтовые
значения, называемыеописателями.
3╔════════════════════════════╗
3║Производительность системы ║
3╚════════════════════════════╝
Микропроцессор 80286 работает с частотой 6Мгц, в результа-
те чего периодсинхроимпульсов составляет 167 Нс.
Цикл шины требует 3 периодасинхроимпульсов ( включая один
цикл ожидания); таким образом достигается 500-наносекундный
16-разрядный циклработы микропроцессора. операции передачи дан-
ных по 8-разряднойшине на 8-разрядные устройства занимают 6 пе-
риодовсинхроимпульсов (включая 4 цикла ожидания), в результате
чего достигается1000-наносекундный цикл работы микропроцессора.
операции передачиданных по 16-разрядной шине на 8-разрядные
устройства занимают 12 периодов синхроимпульсов ( включая 10
циклов ожиданияввода-вывода) , в результате чего достигается
2000-наносекундныйцикл работы микропроцессора.
.
— 8 -
3╔══════════════════════╗
3║ Системныепрерывания ║
3╚══════════════════════╝
Микропроцессор немаскируемых прерываний (НМП) 80286 и две
микросхемыконтроллера прерываний 8259A обеспечивают 16 уровней
системных прерываний. ниже эти уровни приводятся в порядке
уменьшенияприоритета.
Замечание: как все прерывания, так и любоеиз них в отдель-
ности, могут маскироваться (включаяНМП микропроцес-
сора).
╔═════════════════╤════════════════════════════════════════╗
║ Уровень │ Функция ║
╠═════════════════╪════════════════════════════════════════╣
║ Микропроцессор │ Контрольчетности или каналов вво- ║
║ НМП │ да-вывода ║
╚═════════════════╧════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╗
║ Контроллеры прерываний ║
╠═══╤═════════╤════════════════════════════════════════════╣
║ N │ Уровень │ Функция ║
╠═══╪═════════╪════════════════════════════════════════════╣
║ │IRQ 0 │ выход 0 таймера ║
║ 1 │IRQ 1 │ клавиатура (выходной буфер полон) ║
║ │IRQ 2 │ прерывание от CTRL 2 ║
╟───┼─────────┼────────────────────────────────────────────╢
║ │IRQ 8 │ часы реального времени ║
║ │IRQ 9 │ переадресовка программы к INT 0AH (IRQ 2)║
║ │IRQ 10 │ резерв ║
║ │IRQ 11 │ резерв ║
║ 2 │IRQ 12 │ резерв ║
║ │IRQ 13 │ сопроцессор ║
║ │IRQ 14 │ контроллер жесткого диска ║
║ │IRQ 15 │ резерв ║
╟───┼─────────┼────────────────────────────────────────────╢
║ │IRQ 3 │ последовательный порт 2 ║
║ │IRQ 4 │ последовательный порт 1 ║
║ 1 │IRQ 5 │ параллельный порт 2 ║
║ │IRQ 6 │ контроллер накопителя на ГМД ║
║ │IRQ 7 │ параллельный порт 1 ║
╚═══╧═════════╧════════════════════════════════════════════╝
.
— 9 -
3╔═══════════════════════════════════════╗
3║ Описание сигналовканала ввода-вывода ║
3╚═══════════════════════════════════════╝
Ниже приводится описание сигналов каналаввода-вывода сис-
темнойплаты. все сигнальные линии ТТЛ- совместимы. адаптеры
ввода-выводадолжны рассчитываться максимально на две маломощных
нагрузки ТТЛШ наодну линию.
2┌─────────────────────────────────┐
2│ Сигналы SA0 — SA19(ввод-вывод) │
2└─────────────────────────────────┘
Адресные разряды 0 — 19 используются дляадресации к памяти
и устройствамввода — вывода внутри системы. эти 20 адресных ли-
ний, вместе с линиями LA17 — LA23, обеспечиваютдоступ к 16 Мб
памяти. SA0 — SA19 выводятся в системную шину, когда 'BALE' име-
ет высокий уровень , и защелкивается по заднему фронту 'BALE'.
эти сигналы генерируютсямикропроцессором или контроллером пдп.
ими могут такжеуправлять другие микропроцессоры или контроллеры
ПДП, находящиесяна канале ввода-вывода.
2┌──────────────────────────────────┐
2│ Сигналы LA17 — LA23(ввод-вывод) │
2└──────────────────────────────────┘
Эти сигналы (незащелкнутые)используются для адресации к
памяти иустройствам ввода-вывода внутри системы, они обеспечи-
вают доступ к 16 Мб памяти. Эти сигналы истинны, когда 'BALE'
имеет высокийуровень. LA17 — LA23 не защелкиваются во время
цикловмикропроцессора и поэтому не сохраняют истинность в тече-
ние всегоцикла. Целью этих адресных линий является генерация
сигналов выборапамяти для циклов памяти с одним состоянием ожи-
дания. эти сигналы выбора должны защелкиватьсяадаптерами ввода
- вывода по заднему фронту 'BALE'. Этими сигналами могут также
управлять другиемикропроцессоры или контроллеры ПДП, находящи-
еся на каналеввода-вывода.
2┌────────┐
2│ CLK(O) │
2└────────┘
Это сигнал синхронизации системы счастотой 6 Мгц, он расс-
читан на циклмикропроцессора длительностью 167 Нс. Рабочий цикл
составляет 50%этого сигнала. Сигнал должен использоваться толь-
ко для целейсинхронизации. он не предназначен длятех случаев,
когда требуетсяпостоянная частота.
2┌──────────────┐
2│ RESET DRV(O) │
2└──────────────┘
'RESET DRIVE' используется для очистки или инициализации
логических схем системы при включении питания илипри падении
напряжения налинии. этот сигнал активен при высоком уровне.
.
— 10 -
2┌────────────────────────┐
2│ SD0 — SD15(ввод-вывод)│
2└────────────────────────┘
Эти сигналы обеспечивают установку разрядов0 — 15 для мик-
ропроцессора,памяти и устройств ввода-вывода. D0 является млад-
шим разрядом, а D15 — старшим. Все 8-разрядные устройства на
каналеввода-вывода должны использовать для связи с микропроцес-
сором разряды D0- D7. 16-разрядные устройства используют разря-
ды D0 — D15. для поддержки 8-разрядных устройств данные слиний
D8 — D15 будутвыводиться на линии D0 - D7 во время циклов
8-разрядных передач на эти устройства; при передачеданных из
16-разрядногомикропроцессора на 8-разрядное устройство эти дан-
ные преобразуютсяв 8-разрядные.
2┌──────────────────────────┐
2│ BALE(O) (с буферизацией)│
2└──────────────────────────┘
Сигнал 'BUS ADDRESS LATCH ENABLE'генерируется контроллером
шины 82288 и используетсяна системной плате для защелкивания
истинных адресов и сигналов выбора памяти, поступающих из мик-
ропроцессора.Канал ввода — вывода рассматривает его как индика-
тор истинногоадреса микропроцессора или пдп (когда используется
'AEN'). Адреса микропроцессора SA0 — SA19защелкиваются по зад-
нему фронту'BALE'. Во время циклов ПДП на 'BALE' устанавливает-
ся высокийуровень.
2┌────────────────┐
2│ -I/O CH CK (I) │
2└────────────────┘
Сигнал '-I/O CHANNEL CHECK' обеспечивает системнуюплату
информацией обошибках четности в памяти или устройствах на ка-
нале ввода — вывода. Когда сигнал активен, ониндицирует неуст-
ранимую системнуюошибку.
2┌────────────────┐
2│ I/O CH RDY (I) │
2└────────────────┘
Сигнал 'I/O CHANNEL READY' устанавливаетсяпамятью или уст-
ройствомввода-вывода на низкий уровень ( нет готовности), чтобы
удлинить циклыввода-вывода или памяти. Любоеустройство с низ-
кимбыстродействием, использующее эту линию, должно установить
на ней низкийуровень, как только обнаружит свойистинный адрес
и команду чтенияили записи. Машинные циклы продлеваютсяна це-
лое число периодов синхронизации (167 Нс). Этотсигнал должен
сохранять низкийуровень не менее 2,5 Мкс.
2┌───────────────────────────────────────────┐
2│ IRQ3 — IRQ7, IRQ9 — IRQ12 иIRQ14 — IRQ15 │
2└────────────────────────^