- •Системные ресурсы эвм
- •Программно-аппаратные ресурсы пк
- •Внутренние ресурсы системы
- •Распределение памяти
- •Стандартная память — Conventional Memory (640 к)
- •Верхняя память — uma
- •Пространство ввода-вывода
- •Взаимодействие программ с периферийными устройствами
- •4.1. Методы передачи данных
- •4.2. Синхронизация программ и устройств
- •4.3. Буферизация данных в устройствах
- •4.4. Распределение системных ресурсов
Распределение памяти
Пространство памяти предназначено для хранения кодов инструкций и данных, для доступа к которым существует 24 режима. Логическая структура памяти PC обусловлена особенностями системы адресации процессоров семейства х86. Процессоры 8086/88, применявшиеся в первых моделяхPC, имели доступное адресное пространство 1 Мбайт (20 бит шины адреса). Эти процессоры использовали сегментную модель памяти, унаследованную и следующими моделями в реальном режиме. Согласно этой модели исполнительный (линейный) адрес вычисляется по формуле Addr = Seg x 16 + Offset, где Seg и Offset — содержимое сегментного и адресного регистров. Таким образом, обеспечивался доступ к адресному пространству Addr = 00000 - FFFFFh при помощи пары 16-битных регистров.
32-разрядные процессоры позволяют организовать режим, иногда называемый «нереальным» или «большим реальным», в котором инструкции выполняются как в реальном, но доступны все 4 Гбайт памяти.
Распределение памяти PC, непосредственно адресуемой процессором, приведено на рис. 3.2 и представляется следующим образом.
00000h-9FFFFh-Conventional (Base) Memory, 640 Кбайт - стандартная(базовая) память, доступная DOS и программам реального режима.
A0000h-FFFFFh — Upper Memory Area (UMA), 384 Кбайт — верхняя память, зарезервированная для системных нужд. В ней размещаются области буферной памяти адаптеров (например, видеопамять) и постоянная память (BIOS с расширениями). Эта область, обычно используемая не в полном объеме, ставит непреодолимый архитектурный барьер на пути непрерывной (нефрагментированной) памяти, о которой мечтают программисты.
Память выше 100000h — Extended Memory — дополнительная (расширенная) память, непосредственно доступная только в защищенном (и в «большом реальном») режиме для компьютеров с процессорами 286 и выше.В ней выделяется область 100000h-10FFEFh — высокая память, HMA, — единственная область расширенной памяти, доступная 286+ в реальном, режиме при открытом вентилеGate A20.
Область памяти выше первого мегабайта в различных источниках называется по-разному. Ее современное английское название — Extended Memory — дополнительная память.
Вышеприведенное разделение памяти актуально только для приложений и операционных систем реального режима типаMS-DOS. Для ОС защищенного режима (в том числеWindows9x/NT/2000) доступна вся оперативная память, причем без каких-либо ухищрений вродеEMSиXMS, описанных ниже.
Однако область UMAс ее традиционными «жителями», сохраняемая ради совместимости, остается барьером на пути к единой однородной памяти.
Рис. 3.2. Распределение памяти PC
Для компьютеров класса АТ-286 с 24-битной шиной адреса верхняя граница оперативной памяти — FDFFFFh (максимальный размер 15,9 Мбайт). Область FE0000h-FFFFFFh содержит ПЗУ BIOS (ROM BIOS Area), обращение к этой области эквивалентно обращению к ROM BIOS по адресам 0E0000h-0FFFFFh (896-1024 Кбайт).
Для 386+ процессоров и 32-битной шины адреса теоретическая верхняя граница — 4 Гбайт, а для Р6 — 64 Гбайт (36-битная шина адреса). В компьютерах с 32-разрядной шиной адреса образ BIOS дополнительно проецируется в адреса FFFE0000h-FFFFFFFFh (4096 Мбайт), хотя для процессоров Р6 это и необязательно. Однако иногда используется и проекция BIOS в область FE0000h-FFFFFFh (15,9 Мбайт), что не позволяет задействовать более 16 Мбайт ОЗУ, поскольку система воспринимает только найденную непрерывную область оперативной памяти. Если 32-разрядный компьютер имеет отображение области BIOS под границей 16 Мбайт, это отображение обычно можно запретить установкой соответствующего параметра CMOS Setup. Иногда для использования специфических адаптеров ISA, имеющих буфер с адресами в 16-м мегабайте памяти, предусматривают параметр Memory Hole At 15-16M. Его установка также не позволяет использовать оперативную память свыше 16 Мбайт.
В логическом распределении памяти фигурирует только оперативная и постоянная память, а кэш является программно-прозрачным средством повышения ее производительности.