Взаимодействие FPU с системой осуществляется посредством команд. Все команды, транслируемые в CPU, параллельно поступают и в FPU, но команды FPU имеют особый код ESC (11011).
При встрече в программе команды ESC, выполняются следующие процедуры:
1) CPU записывает в свои регистры: код операции FPU, адреса команды, операнда и направление передачи;
2) в режиме РМ, CPU обеспечивает защиту информации и анализирует линию /BUSY от FPU;
3) если /BUSY=L, CPU переходит в ожидание, так как результат выполнения команды ESC может быть востребован очередной командой;
4) CPU подготавливает линии локальной шины для обмена с FPU;
5) FPU начинает выполнение очередной команды;
6) если FPU требуются данные, он выставляет на линию PE сигнал REQ=H, и тогда, –
7) CPU, имея все сведения для обмена на своих регистрах, активизирует линии /ADS, W/R#, Addres, М/IO#.
Обмен данными с FPU занимает не менее двух циклов CPU (по два внутрипроцессорных такта Ts и Tc, по два такта синхронизации CLK каждый, т. е. всего 8 тактов CLK2).
В первом цикле, CPU либо считывает данные из ОЗУ, запоминая их в своих регистрах, либо данные из арифметических регистров FPU (также запоминая их), теперь – для записи в ОЗУ.
Во втором цикле обмена, CPU, через сигналы своего внешнего интерфейса, записывает данные из своего внутреннего регистра в ОЗУ, либо через порты FPU – в арифметические регистры FPU.
Подключение математического сопроцессора.
Для подключения FPU, системная плата имеет или 40-контактный FPU-chip-socket для i287, или мозаичную 68-контактную розетку для i387, или 114-контактную розетку комбинированного применения для FPU WEITEK.
Если контакты на панели розетки расположены в два ряда – это розетка для FPU фирм INTEL, Cyrix, IIT, ULSI, AMD. Если в три ряда – это для FPU фирмы WEITEK. Могут быть две розетки, или панель типа EMC (Expanded Math Coprocessor), универсальные – и для INTEL, и для WEITEK.
При установке FPU в розетку следует принимать меры предосторожности (CMOS очень чувствительна к статике):
- перед установкой следует временно закоротить специальной гребенкой все выводы чипа FPU;
- заземлить гребенку;
- заземлить корпус РС (вилка питания РС должна быть выключена из сети питания);
- работать следует всегда с антистатическим браслетом на руке;
- только после установки FPU в схему можно снять гребенку.
Контрольные вопросы
1. Каково назначение математического сопроцессора?
2. Какой формат имеют операнды при работе РС с плавающей точкой?
3. Как осуществляется процедура обмена данными FPU c DRAM?
4. Как конструктивно могут быть исполнен математический сопроцессор?
5. Какую внутреннюю разрядность данных имеет FPU?
6. Каков порядок подключения FPU к системной плате?
1.4.5 Подсистемы системной платы
На системной плате PC386DX развернуты следующие подсистемы:
1) подсистема DRAM, включающая в себя:
- контроллер 82С302,
- четыре банка накопителей с чипами 41256, или 411000, или 44256, объемом 2, 4, 8, 10 Мбайт соответственно, с возможностью расширения до 16 Мбайт, при использовании модулей SIP, SIMM, или карты расширения ОЗУ в слоте. Время доступа в подсистему DRAM составляет 70-80 нсек;
2) подсистема ввода-вывода, состоящая из карт контроллеров, или адаптеров соответствующих УВВ;
3) подсистема ROM BIOS, организованная двумя чипами 27256, младшего и старшего байтов, по 32 Кбайт, имеющая возможность расширения до 128 Кбайт;
4) через контроллер типа 8042 поддерживается двунаправленный интерфейс связи с KBD;
5) в зависимости от модификации, на SB устанавливаются различные элементы конфигурирования (переключатели, или перемычки), например для:
- разрешения режима конвейеризации адресов,
- выбора типа сопроцессора FPU,
- разрешения изменений содержания CMOS RAM,
- выбора рабочей частоты SB,
- разблокировки аппаратного сброса,
- выбора типа дисплея (MDA, EGA, VGA, SVGA) и т. д.
Вычислительная система поддерживается:
- 16-ю линиями запросов прерываний IRQ,
- 7-ю линиями запросов DRQ на ПДП,
- тремя каналами таймера,
- схемами аппаратного сброса и окончания работы CPU (RESET и Shut Down),
- стандартная частота шины ISA по вводу-выводу составляет 8 МГц;
1.4.5.1) Подсистема оперативной памяти
DRAM управляется контроллером 82С302. Контроллер поддерживает режим конвейеризации адресов, используя внутренние защелки, сохраняющие адрес и состояние для текущей выборки.
Специальные сигналы /IO2XCL и XAO разрешают доступ к регистрам конфигурации контроллера для хранения конфигурации DRAM. Это регистры:
1) областей теневой памяти (Shadow RAM);
2) используемой памяти на SB и картах расширения;
3) количества банков памяти, доступных из системы;
4) области расширенной (Extended) памяти – выше 640 Кбайт;
5) области дополнительной (Expanded) памяти – выше 1Мбайта.
6) числа тактов ожидания при доступе к базовой (Conventional) и расширенной памяти и к ROM BIOS;
7) доступности дополнительной памяти;
8) манипуляции с паритетным контролем (назначить/отменить);
9) разрешения страничного режима организации памяти в РРМ с чередованием банков.
Принцип страничной организации памяти с чередованием банков.
Обычная схема чтения информации из ОЗУ следующая:
1) на МА[9/0] через мультиплексор адреса выставляются два кода: один – для доступа к строке матрицы памяти, (со стробом /RAS n), а за ним, – для доступа к столбцу, (со стробом /CAS m). Между стробами фиксируется временная задержка в соответствии с требованиями конкретных ИМС памяти;
2) элементарная ячейка DRAM при чтении стирается и, для ее восстановления, считанная информация вновь записывается в эту же ячейку через усилители регенерации, расположенные внутри чипа памяти, для чего требуется время, в течение которого доступ к ОЗУ невозможен.
В оптимальном варианте, память организована с четным числом банков, разбитым каждый на страницы, например, по 4 Кбайт. Тогда, при последовательном доступе к четырем банкам, стробы /RAS0 – /RAS3 формируются только в начале выборки очередной страницы, оставаясь затем в активном L-уровне, поэтому стробы /CAS0 – /CAS3 не имеют задержек при каждом очередном запросе банка. Кроме того, каждая последующая выборка относится к следующему банку, а информация в предыдущем банке за это время успевает восстановиться. В контроллере 82С302 организовано программное управление временем задержки между /RAS и /CAS, в зависимости от организации памяти. При невозможности своевременного доступа к информационной ячейке (еще не завершен цикл регенерации информации), контроллер 82С302, установкой сигнала /IOCHRDY = L к контроллеру 82С301, вводит цикл ожидания.
Регенерация DRAM восполняет каждые 3 мсек потерю энергии в накопительных емкостях памяти, происходящую из-за естественных утечек. Для этого каждые 15 мксек (шаг регенерации) на локальные адресные линии от счетчика регенерации, расположенного в буфере старшей части адреса ABF (82А303), устанавливается очередной код строки. Затем принудительно задается команда чтения памяти, разрешая доступ к строкам /RAS[3/0] =L и запрещая - к столбцам (CAS[3/0] =H). Это препятствует поступлению информации DRAM в шину данных. При этом все модули DRAM читаются по адресу данной строки одновременно, восстанавливаясь через усилители регенерации. Так, через каждые 15 мксек в течение 3-х мсек восстанавливается вся RAM.
Процесс регенерации – самый приоритетный, подчиняющийся сигналу управления REFRESH = L.
Цикл "обмена", отводимый под регенерацию, переводит систему в холостое состояние, что является существенным недостатком DRAM, но высокая информационная емкость, низкая стоимость и малое энергопотребление, характерное для динамической памяти, дают решающее преимущество DRAM перед SRAM для использования ее в качестве оперативной.
Оперативная память под MS DOS подразделяется на базовую, расширенную и дополнительную. Стандартное распределение информации в оперативной памяти приведено в таблице 1.4.
В карте адресного пространства ОЗУ, в пределах 1Мбайта есть лишь две области, принадлежащие к DRAM в DOS: 640 Кбайт базовой и 64 Кбайт – зона EMS, страницы которых доступны узлам контроллера и программе. Область адресов VIDEO-памяти находится в той же памяти, но конфликтов при обращении к видеопамяти не возникает, т. к. доступ к ней осуществляется по стандартной схеме управления и адресации, а конфликт устраняется аппаратно, узлом адресных линий A[25/17] контроллера с переносом видео-RAM в область расширенной памяти.
При рассмотрении таблицы распределения памяти следует обратить внимание на то, что область высшей памяти, объемом в 64 Кбайт с адресами от 100000h до 10FFFFh расположена в области расширенной памяти, но доступна и под DOS.
Таблица 1.4. Карта стандартного распределения памяти под MS DOS
────────────┬─────────────────────┬───────────┬───────────────── ширина │ назначение │ область │ размещение адресного │ области │ адресов │ и наименование пространства│ адресов │ │ области ────────────┼─────────────────────┼───────────┼───────────────── Стандартная или базовая память 1К │ Interrupt Area │ 000000 │ │ векторы прерываний │ 0003FFh │ │ │ │ 256 байт │ BIOS Data Area │ 000400 │ │ область данных BIOS │ 0004FFh │ │ │ │ 512 байт │ System Data Area │ 000500 │ расположена │ область данных DOS │ 0006FFh │ в DRAM │ │ │ около 70 К │ Ядро системы DOS: │ 000700 │ Conventional │ V 3.2 - 70 K │ │ Memory, │ V 3.3 - 67 K │ │ стандартная │ V 5.0 - 118 K (60 K │ │ или базовая │ в Conv.Mem.,осталь- │ │ память дос- │ ное - в HMA) │ 01163Fh │ тупная MSDOS │ │ │ около 570К │ Область стековой │ │ │ памяти, транзитный │ │ │ модуль СОМ.COM и │ │ │ пользовательская │ 011460 │ │ область │ 09FFFFh │ ┤ │ │ итого 640Кбайт │ │ ─────────────┼─────────────────────┴───────────┴───────────────── Верхняя память (Uрper Memory Area): 128 К │ Video RAM 0A0000 экранная │ (Shadow RAM) │ 0BFFFFh │ память, рас- │ │ │ положена в │ │ │ видео подсистеме │ │ │ 64 К │ Пространство "лову- │ 0С0000 │ │ шек" BIOS для │ │ расположена │ УВВ (Shadow RAM) │ 0СFFFFh │ в ПЗУ УВВ │ │ │ 64 К │ Организация специ- │ 0D0000 │ │ фикаций LIM EMS │ │ │ 3.2/4.0 │ │ │ - 4 cегмента │ │ │ (frame) по 16 К │ │ расположена │ (Shadow RAM) │ 0DFFFFh │ в подсистеме DRAM │ │ │ 128 K │ Область, выделенная │ 0Е0000 │ расположена │ под BIOS (Shadow │ │ в ПЗУ подсистеме │ RAM)-копия ROM BIOS │ │ ROM BIOS │ для RМ │ 0FFFFF │ (две послед- │ │ │ ние секции итого 384Кбайт │ │ ROM) ────────────┼─────────────────────┼───────────┼───────────────── всего 1 Мбайт │ │ ────────────┼─────────────────────┴───────────┴───────────────── Дополнительная (Exрanded) память: 64 К │ High Memory Area 100000 часть расши- │ (HMA) - высшая па- │ 10FFFFh │ ренной (Exten- │ мять, в DOS 5.0 - │ │ ded) памяти, │ хранит часть ядра │ │ доступна для │ системы │ │ DOS 5.0 и выше │ │ │ 15168 K │ Expanded Memory │ 110000 │ RAM - память, │ (дополнительная │ │ доступная для │ память), с помо- │ │ системных │ щью программ- │ │ программ в РМ. │ администраторов │ │ │ (менеджеров) │ │ │ используется в RM │ │ │ как Extended │ FDFFFFh │ │ Memory │ │ │ │ │ │ │ │ итого 15232 Кбайт │ │ │ │ │ │ │ │ │ │ │ │ │ │ Область копи- 128 К │ BIOS │ FE0000 │ рования BIOS │ │ FFFFFFh │ в PM (две пос- │ │ │ ледние секции │ │ │ ROM BIOS) _________________________________________________________________
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51