- •Глава 4 Функциональная
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 4. Функциональная и структурная организация пк
- •Глава 5 Микропроцессоры
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 5. Микропроцессоры и системные платы
- •Глава 6 Запоминающие
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства-пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 6. Запоминающие устройства пк
- •Глава 7 Внешние
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 7. Внешние устройства пк
- •Глава 8 Выбор, тестирование
- •Глава 8. Выбор, тестирование и подключение пк к электросети
- •Глава 8. Выбор, тестирование и подключение пк к электросети
- •Глава 8. Выбор, тестирование и подключение пк к электросети
- •Глава 8. Выбор, тестирование и подключение пк к электросети
- •Глава 8. Выбор, тестирование и подключение пк к электросети
- •Глава 8. Выбор, тестирование и подключение пк к электросети
Глава 6. Запоминающие устройства пк
от разрядности адресных шин, поскольку максимальное количество адресов определяется разнообразием двоичных чисел, которые можно отобразить в п разрядах, то есть адресное пространство равно 2", где п — разрядность адреса. За основу в ПК взят 16-разрядный адресный код, равный по длине размеру машинного слова. При помощи 16-разрядного представления адреса можно непосредственно адресовать всего 216 = 65 536 = 64 Кбайт ячеек памяти. Это 64-килобайтовое поле памяти, так называемый сегмент, также является базовым в логической структуре ОП. Следует заметить, что в защищенном режиме размер сегмента может быть иным и значительно превышать 64 Кбайт.
Современные ПК (кроме простейших бытовых компьютеров) имеют основную память, емкостью существенно больше 1 Мбайт. Но память до 1 Мбайт является еще одним важным структурным компонентом ОП — назовем ее непосредственно адресуемой памятью (справедливо полностью только для реального режима). Для адресации 1 Мбайт = 220 = 1 048 576 ячеек непосредственно адресуемой памяти необходим 20-разрядный код, получаемый в ПК при помощи специальной структуризации адресов ячеек ОП.
Абсолютный (полный, физический) адрес (Ай(к) формируется в виде суммы нескольких составляющих, чаще всего используемыми из которых являются: адрес сегмента и адрес смещения.
Адрес сегмента (Лсегм) — это начальный адрес 64-килобайтового поля, внутри которого находится адресуемая ячейка.
Адрес смещения (Лсм) — это относительный 16-разрядный адрес ячейки внутри сегмента.
Лсегм должен быть 20-разрядным, но если принять условие, что Лссгм должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, «увеличенным» в 16 раз, что равносильно дополнению исходного кода справа 4 нулями и превращению его, таким образом, в 20-разрядный код. То есть условно можно записать:
^абс = 16 X Лсегы + Аси.
Для удобства программирования и оптимизации ряда операций микропроцессоры ПК поддерживают еще две составляющие смещения: адрес базы и адрес индекса. Следует отметить, что процессор ПК может обращаться к основной памяти, используя только абсолютный адрес, в то время как программист может использовать все составляющие адреса, рассмотренные выше.
В современных ПК существует режим виртуальной адресации (virtual — мнимый, кажущийся, воображаемый). Виртуальная адресация применяется для увеличения адресного пространства ПК при наличии ОП большой емкости (простая виртуальная адресация) или при организации виртуальной памяти, в которую наряду с ОП включается и часть внешней (обычно дисковой) памяти. При виртуальной адресации вместо начального адреса сегмента Лсегм в формировании абсолютного адреса Аа(к принимает участие многоразрядный адресный код, считываемый из специальных таблиц. Принцип простой виртуальной адресации
Основная память
159
можно пояснить следующим образом. В регистре сегмента содержится не А, а некий селектор, имеющий структуру:
ИНДЕКС IF СЛ
где СЛ — вспомогательная служебная информация; F — идентификатор, определяющий тип таблицы дескрипторов для формирования Асеп1 (таблицы дескрипторов создаются в ОП при виртуальной адресации автоматически):
О если F= О, то используется глобальная таблица дескрипторов (GDT ), общая для всех задач, решаемых в ПК в многозадачном режиме;
□ если F= 1, то используется локальная таблица дескрипторов (LDT), создаваемая для каждой задачи отдельно.
В соответствии с индексом и идентификатором из GLT или LDT извлекается 64-битовая строка, содержащая, в частности, и адрес сегмента. Разрядность этого адреса зависит от размера адресного пространства микропроцессора, точнее равна разрядности его адресной шины. Подобная виртуальная адресация используется в защищенном режиме работы микропроцессора. Для большей плотности размещения информации в оперативной памяти (уменьшения сегментированности, характерной для многозадачного режима) часто практикуется сегментно-странич-ная адресация, при которой поля памяти выделяются программам внутри сегментов страницами размером от 2 до 4 Кбайт. Формирование сегментно-страничной структуры адресов выполняется автоматически операционной системой.
Виртуальная память создается при недостаточном объеме оперативной памяти, не позволяющем разместить в ней сразу всю необходимую информацию для выполняемого задания. При загрузке очередной задачи в оперативную память необходимо выполнить распределение машинных ресурсов, в частности оперативной памяти, между компонентами одновременно решаемых задач (в принципе, оперативной памяти может не хватить и для решения одной сложной задачи). При подготовке программ в их код заносятся условные адреса, которые должны быть затем привязаны к конкретному месту в памяти. Распределение памяти может выполняться или в статическом режиме до загрузки программы в ОП, или в динамическом режиме автоматически в момент загрузки программы или в процессе ее выполнения. Статическое распределение памяти весьма трудоемко, поэтому применяется редко. Если очевидно, что реальная память меньше требуемого программой адресного пространства, программист может вручную разбить программу на части, вызываемые в ОП по мере необходимости — создать оверлейную структуру программы. Обычно же используется режим динамического распределения памяти.
При динамическом распределении памяти в случае недостаточной емкости ОП полезно воспользоваться виртуальной памятью. В режиме виртуальной памяти пользователь имеет дело не с физической ОП, действительно имеющейся в ПК, а с виртуальной одноуровневой памятью, емкость которой равна всему адресному пространству микропроцессора. На всех этапах подготовки программы, включая ее загрузку в оперативную память, в программе используются виртуальные адреса, и лишь при непосредственном исполнении машинной команды выполняется преобразование виртуальных адресов в реальные физические адреса ОП.
160
