Ограничение RAM - RAM limit
Максимум оперативная память (RAM), установленная в любой компьютерной системе, ограничена аппаратными, программными и экономическими факторами. Аппаратное обеспечение может иметь ограниченное количество адресная шина бит, ограниченный пакетом процессора или конструкцией системы. Некоторая часть адресного пространства может совместно использоваться ОЗУ, периферийными устройствами и постоянной памятью. В случае микроконтроллер без внешней RAM размер массива RAM ограничен размером кристалла интегральной схемы. В упакованной системе ОЗУ может быть предоставлено только для требуемых функций системы, без возможности добавления памяти после изготовления.
Могут присутствовать программные ограничения на используемую физическую оперативную память. An Операционная система могут быть предназначены только для выделения определенного объема памяти, причем старшие биты адреса зарезервированы для обозначения таких обозначений, как режим ввода-вывода или супервизора, или другой информации о безопасности. Или операционная система может полагаться на внутренние структуры данных с фиксированными ограничениями адресуемой памяти.
Для персональных компьютеров массового рынка производитель может не иметь финансовых преимуществ в предоставлении большего количества разъемов памяти, адресных линий или другого оборудования, чем необходимо для запуска программного обеспечения массового рынка. Когда устройства памяти были относительно дорогими по сравнению с процессором, часто объем оперативной памяти, поставляемой с системой, был намного меньше адресной емкости оборудования из-за стоимости.
Иногда ограничения ОЗУ можно преодолеть с помощью специальных приемов. Смена банка позволяет при необходимости переключать блоки оперативной памяти в адресное пространство процессора под управлением программы. Операционные системы обычно управляют запущенными программами с помощью виртуальная память, где отдельные программы работают так, как если бы они имели доступ к большому пространству памяти, которое моделируется путем обмена областями памяти с дисковым хранилищем.
Пределы адресации ЦП
По соображениям производительности все параллельные адресные строки адресная шина должны быть действительными в то же время, иначе доступ к памяти будет задержан, а производительность серьезно снизится. Пакеты интегральных схем могут иметь ограничение на количество выводов, доступных для обеспечения шина памяти. Могут быть разработаны различные версии архитектуры ЦП в корпусах ИС разного размера, уступая уменьшенному размеру корпуса уменьшенному количеству выводов и адресному пространству. Можно найти компромисс между адресными контактами и другими функциями, ограничивая физически доступную для архитектуры память, даже если она изначально имеет более высокую емкость. С другой стороны, сегментированные или переключение банка конструкции предоставляют больше адресного пространства памяти, чем доступно в адресном регистре внутренней памяти.
Поскольку память на интегральных схемах стала дешевле, стало возможным проектировать системы с большим и большим пространством физической памяти.
Менее 16 адресных контактов
Микроконтроллер устройства со встроенным вводом-выводом и памятью на кристалле иногда не имели или имели небольшую адресную шину для внешних устройств. Например, семейство микроконтроллеров с адресным пространством в 2 килобайта может иметь вариант, в котором имеется 11-строчная адресная шина для внешнего ПЗУ; это можно сделать, переназначив выводы ввода / вывода как выводы адресной шины. Некоторые процессоры общего назначения со встроенным ПЗУ разделяют 16-битное адресное пространство между внутренним ПЗУ и внешней 15-битной шиной памяти.
Некоторые очень ранние компьютеры также имели процессоры с менее чем 16 адресными контактами: Технология MOS 6507 (версия 6502 с уменьшенным количеством выводов) использовалась в Atari 2600 и был ограничен адресной шиной с 13 строками.
16 бит адреса, 16 контактов адреса
Большинство 8-битных микропроцессоров общего назначения имеют 16-битные адресные пространства и генерируют 16 адресных строк. Примеры включают Intel 8080, Intel 8085, Зилог Z80, Motorola 6800, Микрочип PIC18, и многие другие. Эти процессоры имеют 8-битные ЦП с 8-битными данными и 16-битной адресацией. Память этих процессоров адресуется на уровне байтов. Это приводит к ограничению адресуемой памяти 216 × 1 байт = 65 536 байтов или 64 килобайта.
16 бит адреса, 20 контактов адреса: 8086, 8088, 80186 и 80188
В Intel 8086 и производные, такие как 8088, 80186 и 80188 составляют основу популярных x86 платформы и являются первым уровнем архитектуры IA16. Это были 16-битные процессоры с 20-битной адресацией. Память на этих процессорах была адресуемой на уровне байтов. Эти процессоры могут адресовать 220 байтов.
16-битные адреса, 24 адресных контакта: 80286
В Intel 80286 CPU использовал 24-битную схему адресации. Каждая ячейка памяти была байтовой. Это приводит к общему адресуемому пространству 224 × 1 байт = 16 777 216 байтов или 16 мегабайт. 286 и более поздние версии также могли работать в реальный режим, что накладывает ограничения на адресацию процессора 8086. В 286 была поддержка виртуальной памяти.
32-битные адреса, 24 адресных контакта
В Intel 80386SX была экономичной версией 386DX. У него была 24-битная схема адресации, в отличие от 32-битной в 386DX. Как и 286, 386SX может адресовать только до 16 мегабайт памяти.
В Motorola 68000 имел 24-битное адресное пространство, что позволяло использовать до 16 мегабайт памяти.
32-битные адреса, 32 адресных контакта
386DX имел 32-битную адресацию, что позволяло адресовать до 4 гигабайт (4096 мегабайт) памяти.
В Motorola 68020, выпущенный в 1984 году, имел 32-битное адресное пространство, что давало ему максимальный предел адресуемой памяти в 4 ГБ. Все следующие фишки в Motorola 68000 серии унаследовал этот предел.
32-битные адреса, 36 адресных контактов: Pentium Pro (он же P6)
В Pentium Pro и все Pentium 4 имеют 36-битную адресацию, в результате чего общее адресное пространство составляет 64 гигабайта.
64-битные вычисления
Современные 64-битные процессоры, такие как разработки от ARM, Intel или AMD, являются обычно ограниченный для поддержки менее 64 бит для адресов RAM. Обычно они реализуют от 40 до 52 бит физического адреса.[1][2][3][4] (поддерживает от 1 ТБ до 4 ПБ ОЗУ). Как и предыдущие архитектуры, описанные здесь, некоторые из них предназначены для поддержки более высоких пределов ОЗУ решение по мере совершенствования технологий. Как в Intel64, так и в AMD64 ограничение на 52-битный физический адрес определено в спецификациях архитектуры (4 ПБ).
Ограничения ОЗУ операционной системы
Ограничение адресации CP / M и 8080
Первая крупная операционная система для микрокомпьютеров была CP / M. Эта операционная система была совместима с Альтаир 8800 -любить микрокомпьютеры, сделано в Гэри Килдалл в сочетании с языком программирования PL / M, и была лицензирована производителями компьютеров компанией Килдалла Цифровые исследования после того, как он был отклонен Intel. В Intel 8080 эти компьютеры использовались 8 бит процессор, с 16 бит адресное пространство, позволяющее получить доступ к 64 КБ памяти; Из-за этого исполняемые файлы .COM, используемые с CP / M, имеют максимальный размер 64 КБ, как и те, которые используются операционными системами DOS для 16-разрядных микропроцессоров.
Предел адресации IBM PC и 8086
В оригинальном IBM PC базовое ограничение ОЗУ составляет 640 КБ. Это сделано для обеспечения аппаратного адресного пространства в верхних 384 КБ (область верхней памяти (UMA)) от общего пространства адресуемой памяти 1024 КБ (1 МБ). Способы преодоления 640к барьер, как стало известно, использовались специальные режимы адресации, доступные в процессорах 286 и более поздних версий. Общее адресное пространство в 1 МБ было результатом 20-разрядного ограничения адресного пространства, наложенного на ЦП 8086 (и 8088).
Используя пространство цветного видеобуфера, некоторые сторонние утилиты могут добавлять память в верхней части 640 КБ. обычная память область, чтобы расширить память до базового адреса, используемого аппаратными адаптерами. Это может в конечном итоге заполнить ОЗУ до базового адреса MDA.
Аппаратные расширения позволили получить доступ к большему количеству памяти, чем процессор 8086 мог адресовать через память подкачки. Это воспоминание было известно как расширенная память. Промышленность де-факто Стандарт был разработан консорциумом LIM, в состав которого входят Lotus, Intel и Microsoft. Этот стандарт был Спецификация расширенной памяти (EMS). Страницы памяти из оборудования с расширенной памятью были доступны через окно адресации, помещенное в свободную область в пространстве UMA, и путем обмена на другие страницы, когда это было необходимо для доступа к другой памяти. EMS поддерживает 16 МБ пространства.
Используя причуду в архитектуре 286 CPU, область высокой памяти (HMA) был доступен, поскольку первые 64 КБ превышали ограничение в 1 МБ для 20-разрядной адресации в архитектуре x86.
Используя возможности адресации 24-битной памяти архитектуры 286 CPU, было доступно полное адресное пространство 16 МБ. Память выше предела 1 МБ была вызвана расширенная память. Однако область между 640 КБ и 1 МБ была зарезервирована для аппаратной адресации в совместимых с IBM PC. DOS и другие программы реального режима, ограниченные 20-битными адресами, могли получить доступ к этому пространству только через эмуляцию EMS в расширенной памяти или аналог EMS для расширенной памяти. Microsoft разработала стандарт, известный как Спецификация расширенной памяти (XMS). Для доступа к памяти над HMA требовалось использование защищенный режим из 286 CPU.
С развитием архитектуры ЦП i386 адресное пространство было перемещено на 32-битную адресацию и ограничение в 4 ГБ. С этим процессором доступ к областям памяти 16 МБ был доступен программам DOS, которые использовали Расширители DOS, такие как DOS / 4GW, MiniGW / 16, MiniGW и другие. Первоначально де-факто промышленный стандарт памяти для взаимодействия, известный как VCPI был развит. Позже стандарт Microsoft вытеснил это, известное как DPMI. Эти стандарты разрешали прямой доступ к пространству 16 МБ вместо схемы подкачки, используемой EMS и XMS.
Предел 16-битной OS / 2 RAM
16-разрядная OS / 2 была ограничена 15 МБ из-за зарезервированного пространства, заложенного в операционной системе. Он зарезервировал верхний 1 МБ из 16 МБ 24-разрядного адресного пространства для не-памяти (от 16 МБ до 15 МБ).
32-разрядный предел ОЗУ x86
В режимах без PAE x86 процессоры, полезные ОЗУ может быть ограничено размером менее 4 ГБ. Ограничения на память и адресное пространство зависят от платформы и операционной системы. Ограничения на физическую память для 32-битных платформ также зависят от Расширение физического адреса (PAE), что позволяет 32-битным системам использовать более 4 ГБ физической памяти.
PAE и 64-разрядные системы могут иметь возможность адресовать до полного адресного пространства процессора x86.
Смотрите также
использованная литература
- ^ "Руководство программиста AMD64, том 2: Системное программирование" (PDF). Продвинутые микроустройства. Декабрь 2016. с. 120.
- ^ "Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 3A: Руководство по системному программированию, часть 1" (PDF). Intel. Сентябрь 2016. с. 4-2.
- ^ "Справочное руководство по архитектуре ARM ARMv8, для профиля архитектуры ARMv8-A". С. D4-1723, D4-1724, D4-1731.
- ^ http://infocenter.arm.com/help/topic/com.arm.doc.den0001c/DEN0001C_principles_of_arm_memory_maps.pdf
внешние ссылки
- Статья MSDN: Ограничения памяти для выпусков Windows
- Системная память, указанная в диалоговом окне «Сведения о системе» в Windows Vista, меньше, чем вы ожидаете, если установлено 4 ГБ ОЗУ. - объясняет проблему
- Windows Vista SP1 включает отчеты об установленной системной памяти (RAM) - подробности о лимите RAM