Распределение адресного пространства ЭВМ Адресное пространство – число адресов, которое может формировать процессор. Размер определяется разрядностью шины адреса. Совсем необязательно, что все адреса будут соответствовать реально существующим ячейкам памяти. В то же время адресное пространство показывает максимально возможное число ячеек памяти. В зависимости от конфигурации ЭВМ распределение адресного пространства может различаться. Однако существуют некоторые правила его распределения. В области данных храниться 256 указателей векторов прерываний. Область данных BIOS - 100 адресов. Сама BIOS является частью ОС и храниться в специальных ПЗУ. В нем хранятся разнообразные данные которые используются программами BIOS в своей работе. Загрузка MS DOS, управление стандартной аппаратурой адрес 00000h векторы прерываний 00400h 00500h область данных BIOS ОС MS DOS Свободная память А0000h AFFFF Графический видеобуфер Свободная область B8000 8FFFF FFFFF 100000 текстовый видеобуфер ПЗУ расшир. BIOS Свободная область ПЗУ BIOS расширенная память размер 1 кбайт 256 байт 64 32 32 64 128 64 В области данных BIOS размещается входной буфер (клавиатуры) в который помещены коды нажимаемых клавиш . адрес видеоадаптера и адрес портов ввода – вывода. Днные, которые характеризуют текущее состояние видеосистемы. Ячейки памяти для отсчета системного времени. Область данных BIOS заполняется информацией в процессе начальной загрузки, а затем модифицируется по мере необходимости. Начиная с адреса 500 размещается ОС MS DOS. В зависимости от конфигурации она занимает несколько десятков килобайт. MS DOS записывается в память автоматически в процессе начальной загрузки. До адреса А0000 размещается свободная область, предназначенная для загрузки системных и прикладных программ. В начале загружаются резидентные программы (постоянно находящиеся в памяти), пользовательские программы. Начиная с А0000 до FFFFF распределяется старшая область памяти размером 384 килобайта. Распределение этой области показано. Первые 64 килобайта отводятся для адресации графическому видеобуферу графического адаптера. Сам видеоадаптер представляет отдельную плату, которая подключается к шине и имеет собственное ОЗУ, которое не имеет никакого отношения к ОП ЭВМ. Однако его схемы управления построены на адреса диапазона А0000 – AFFFF. Для того чтобы вывести на экран графическое изображение нужно записать его в видеобуфер по этим адресам. Аналогичным образом осуществляется связь с текстовым видеоадаптером. Здесь же находится адреса по которым располагается ПЗУ BIOS (64 килобайта) еще 64 отданы ПЗУ расширения BIOS которое предназначено для хранения служебных программ обслуживания дисков и графических видеоадаптеров. В защищенном режиме работы память не ограничивается 1 мб а может иметь максимальный размер 4 гб. Поэтому начиная с области (*) Способы обмена информацией в ЭВМ. Во время работы ВМ постоянно производится обмен информацией между узлами и элементами ЭВМ. Причем главным элементом является процессор. Наиболее распространенной шиной для обмена информацией является общая шина. Процесс передачи информации от МП и устройствами называется записью. Передача от устройств к МП – чтение. Совокупность унифицированных линий и шин, связывающих устройства между собой а также протоколы (алгоритмы) обмена информацией по этим линиям и шинам называется интерфейсом. Интерфейс и общая шина предполагают соединение одноименных входов и выходов всех устройств входящих в систему общими проводниками. Внешние устройства подключаются к интерфейсу через контроллеры (схемы согласования) Рисунок В состав контроллера входят 3 узла 1. дешифратор адреса (который подключается к шине адреса системы). Дешифратор на своем выходе формирует сигнал, который устанавливает вешнее устройство в активное состояние, если на его входе установлена комбинация, соответствующая адресу внешнего устройства 2. регистр данных. Буферный регистр, через который осуществляется обмен данными между внешним устройством и системной шиной данных. 3. регистр состояния. Регистр, отдельные разряды которого характеризуют внутреннее состояние внешнего устройства. Они формируют информацию о готовности внешнего устройства к обмену. При организации обмена необходимо решить ряд задач которые обеспечивают правильный обмен информацией между устройствами: 1. Обеспечить связь только с теми устройствами, с которыми требуется произвести обмен (принципы адресности). 2. согласовать скорость обмена, т к скорости работы разных устройств сильно различается. 3. синхронизация обмена. Правильное определение моментов начала и окончания передачи информации. 4. обеспечить максимальную скорость обмена. Три основных способа обмена информацией: 1. программный ввод – вывод (синхронный, асинхронный) рисунок это наиболее простой способ обмена информацией. Всеми действиями по обмену управляет МП. Перед началом операции обмена процессор опрашивает внешнее устройство о готовности обмена. Если устройство готово, то производится обмен (чтение или запись регистра данных). Если устройство не готово, то процессор должен ждать, периодически повторяя опрос о готовности. Недостаток этого способа особо сильно проявляется. Большую часть времени CPU должен ждать готовности устройства. Рассмотрим операцию обмена с принтером, не имеющий собственной памяти и со скоростью 10 символов в секунду. Рисунок Поскольку принтер не имеет памяти то происходит посимвольный вывод на печать. Большую часть времени процессор вынужден ждать готовности устройства. Слово из 10 букв будет печататься 1 секунду (хотя время передачи кодов в регистр данных – 10 мкс все остальное время - 0.99999 с CPU вынужден ждать готовности к обмену. Пример показывает, что программный ввод – вывод является неэффективным. 2. ввод – вывод по прерыванию. Рисунок Для повышения производительности CPU его нужно освободить от опроса устройства готовности. Эта задача возлагается на контроллер внешнего устройства. Получив команду ввода – вывода контроллер передает ее во внешнее устройством следит за временем ее выполнения. По окончанию действия контроллер формирует и посылает в CPU сигнал требования прерываний. CPU приостанавливает работу на основной программе и обслуживает это прерывание, т е CPU передает в котроллер код очередного символа, после этого процессор возвращает ее к выполнению основой программы. Далее эти действия повторяются Рисунок В программе вывода по прерываниям отсутствует время ожидания готовности принтера. Как только принтер готов, контроллер вырабатывает сигнал о прерывании – CPU прерывает основную программу, передает код и продолжает работу. 3. прямой доступ к памяти (ПДП). Используется когда требуется произвести обмен между устройствами большими массивами информации ( сохранение данных на диск, запись на диск с диска). Обычно, если решать эти задачи обычным способом, то это происходит через МП. Рисунок Архитектурные особенности 32-разрядных процессоров в реальном режиме 1. CPU 32 – разр. Intel 80386 85 г. 2. CPU 32 – разр. Intel 80486 89 г. 3. 98 г. Pentium Современные CPU могут работать в 4 режимах. Не смотря на то, что 32 разрядные CPU насчитывают несколько десятков регистров в реальном режиме работы участвуют значительно меньшее число. Регистры данных биты EAX 31 16 15 AH AX 0 AL аккумулятор EBX BH BX BL базовый регистр ECX CH CX CL счетчик EDX DH DX DL регистр данных Регистры указатели ESI SI индекс источника EDI DI индекс приемника EBP BP указатель базы ESP SP указатель стека Сегментые регистры CS регистр сегмента команд DS регистр сегмента данных ES регистр дополнительного сегмента данны FS GS регистр сегмента стека SS Прочие регистры EIP IP EFLAGS указатель команд регистр флагов Е – расширенный (32 – разрядные регистры) Регистр флагов несмотря на то, что стал 32 – разрядным используется в нем ишь 18 младших бит. Арифметические флаги: CF – перенос PF – четность AF – вспомогательный перенос ZF – ноль SF - знак OF – переполнение Флаг задачи, флаг рестарта, флаг виртуального режима, 2-х битовое поле привилегий ввода вывода 386 – подключение команд 386 – го CPU 486 586