Ноутбуки   
   Софт   
   Компьютеры   
   Компьютерные фирмы   
  Меню сайта

BIOS

SSD-накопители

Акустика для ПК

Видеокарты

Видеокарты - История

Джойстики, клавиатуры и мыши

Дигитайзеры

Жесткие диски

Жесткие диски - история

Звуковые карты

Именитые люди компьютерной индустрии

История компьютеров

Карманные компьютеры

Компьютер десктоп - готовая сборка

Компьютерные фирмы

Компьютеры в теории и практике

Копировальные аппараты

Корпуса, вентиляторы, блоки питания

Маршрутизаторы, коммутаторы, хабы

Материнские платы

Модемы

Модули памяти

Мониторы

Мониторы и видеокарты - история

Новости

Ноутбуки и субноутбуки

Оборудование беспроводной связи, bluetooth, wi-fi

Оптические накопители CD, DVD, Blueray

Оргтехника

Память - история

Плоттеры

Принтеры

Процессоры

Процессоры - история

Сетевые карты

Сетевые фильтры, ИБП

Сети

Сканеры

Сменные жесткие диски

Советские ПК

ТВ-тюнеры

Типы компьютеров

Устройства архивации данных и стримеры

Факс

Флоппи-дисководы

Флэшки и всяко-разно

Шины и чипсеты - история




Главная страница Прайс-лист Интернет-магазин

Организация памяти IBM PC

Имея адресное пространство свыше миллиона байт IBM/PC позволяет более удобно и более гибко использовать память, чем большинство других, меньших персональных компьютеров. Весь объем памяти распределен довольно интересным образом. С одной стороны, резервирование определенных ячеек памяти может наложить ограничение на возможные применения компьютера. В IBM/PC резервируется несколько областей в верхних адресах памяти. Эти область имеют особое назначение, а все нижние адреса оставлены для свободного использования. Таким образом сочетаются достоинства использования зарезервированных блоков памяти и сохранения как можно большего объема памяти для свободного использования.
На рис. 3.3. показана простая схема распределения памяти. Верхняя четверть общего объема памяти, начиная с ячейки C 000 и до конца, практически всегда занимается постоянным запоминающим устройством или ПЗУ. (В дальнейшем все упоминающиеся адреса будут без специального напоминания даваться в шестнадцатиричном виде.) Фактически ПЗУ занимает только верхние 8К, начиная с адреса FE00, в которых находится система BIOS (подробно описанная в главе 6). Система BIOS в ПЗУ включает все основные служебные процедуры IBM/PC, в том числе тестовые программы, которые запускаются при включении компьютера.
Следующие (если идти сверху вниз) 32К используются для хранения интерпретатора Бейсика. Бейсик-ПЗУ начинается с ячейки F600 и заканчивается непосредственно перед BIOS. В главе 6 описывается интерпретатор Бейсика в ПЗУ. В принципе, любая часть адресного пространства может быть занята постоянной памятью, но в соответствии с общими правилами организации памяти IBM/PC, адреса ПЗУ должны быть больше C000. Как упоминалось в главе 2, в системном блоке IBM/PC установлено пять микросхем ПЗУ и одно свободное гнездо для установки микросхемы. Эти пять микросхем содержат BIOS и Бейсик. Каждая микросхема имеет емкость 8К. Еще 8К можно добавить с помощью свободного гнезда и начальный адрес для них будет равен F400, так чтобы они располагались непосредственно перед Бейсиком.
Ниже области ПЗУ располагается большой сегмент памяти, предназначенный для поддержки экранного режима дисплеев. Для хранения информации, отображаемой на экране, необходимо использовать специальную область памяти, которая может располагаться как внутри дисплея, так и внутри компьютера, с которым он соединен. В IBM/PC экранная память входит в общее адресное пространство компьютера (хотя конструктивно она размещается на плате расширения для дисплея). В главе 8 мы более подробно рассмотрим размещение и использование экранной памяти.
Блок экранной памяти начинается с адреса B000 и занимает 64К, вплоть до адреса C000. Этот блок делится на две части. Нижняя половина, начинающаяся с адреса B000, используется монохромным дисплеем. Верхняя половина, начинающаяся с адреса B800, используется цветным графическим дисплеем. В главах 8 и 9 более подробно описывается структура и использование этой памяти.
Ни один из дисплейных адаптеров не требует и не использует все 32К, выделенные для них. Монохромный дисплей использует всего 4К, а цветной графический дисплей использует 16К. Оставшаяся часть памяти в настоящее время не используется, но может понадобиться для более совершенных дисплейных адаптеров.
Фактически, для дисплейных адаптеров выделено больше памяти, чем эти 64Кот B000 до C000. Блок в 64К, предшествующий им, также зарезервирован. В соответствии с документацией IBM/PC блок, начинающийся с адреса A000, резервируется двумя способами. Первые 16К, от A000 до A4000, зарезервированы совершенно таинственным образом, не имеется ни малейшего указания на то, для чего это сделано. Остальные 48К этого блока от A400 до B000, входит в область 112К, которая считается зарезервированной для экранной памяти. Таким образом, вся область экранной памяти располагается с адреса A400 до C000.
Можно предположить, что эта большая область, особенно 18К в блоке A000, будут использоваться каким-нибудь новым дисплеем с высокой разрешающей способностью, которому потребуется больше памяти чем для обычного монохромного или цветного графического дисплея. Непонятно только назначение первых 16К блока A000, не обозначенных как часть экранной памяти.
Объем памяти, расположенной ниже адреса A000, составляет 64К, которые предназначены для обычного использования памяти компьютера. Первые 64К, до адреса 1000, располагаются на основной системной плате IBM/PC, а все остальные микросхемы памяти размещаются в блоках расширения. По сообщениям фирмы "ИБМ", IBM/PC поддерживает всего 256К памяти, но этот предел связан только с тестами BIOS, которые при запуске компьютера проверяют такой объем памяти. Всегда можно подключить больше чем 256К памяти.
Вся обычная оперативная память, подключенная к Вашему компьютеру, располагается в нижних адресах общего адресного пространства. Вы можете подключить такой объем памяти какой Вам необходим в пределах, накладываемых зарезервированными адресами. Независимо от того, подключено ли к Вашему компьютеру 48К или 576К, они всегда размещаются начиная с адреса 0000.
Таким образом, оперативная память всегда занимает нижние адреса пространства, а постоянная память - в верхних адресах. Между ними располагается экранная память. Между всеми этими разделами могут быть промежутки - промежуток от конца оперативной памяти до начала экранной памяти и от конца экранной памяти до начала ПЗУ. Это неиспользуемая часть памяти IBM/PC.
Оперативная память временно используется работающими программами и их данными. Часть этой памяти, ее начальные адреса, используются для нужд самого микропроцессора, а другие небольшие фрагменты используются операционной системой и интерпретатором Бейсика. Оставшаяся память может использоваться любыми программами.
Самая нижняя часть памяти, начинающаяся с нулевого адреса и занимающая примерно 1500 байт, предназначена для хранения необходимой рабочей информации для компьютера. Первая часть этой области содержит вектора прерываний, которые более подробно будут рассмотрены в разделе 3.5. После векторов прерываний располагается информация, необходимая для управляющих процедур BIOS, операционной системы ДОС и интерпретатора Бейсика, а также их рабочие ячейки. После зарезервированной области в нижних адресах памяти начинается рабочая область, в которую загружаются программы и где хранятся их данные.
Можно исследовать память IBM/PC и установить, какие блоки используются и где они размещены в адресном пространстве. Программы могут пытаться выполнять чтение и запись по любым адресам памяти. Можно предположить, что обращение к неподключенной памяти приведет к появлению сигнала ошибки, но на практике этого не происходит. Причина этого проста - работа микропроцессора 8088 с памятью заключается в обращении к каналу ввода/вывода, который описан в главе 2, и ожиданием результата. Даже если память не подключена, микропроцессор не замечает разницы.
Однако, можно достаточно просто проверить наличие или отсутствие памяти по определенному адресу. Один из методов заключается в чтении из различных областей памяти с последующей проверкой результатов. Непродолжительные эксперименты показывают, что при большинстве методов чтения, как через DEBUG, так и с помощью средств языка Паскаль, результатом всегда оказывается байт со всеми единичными битами; что соответствует шестнадцатиричному значению FF или CHR$(255).
Такой результат никого не должен удивлять - ведь при чтении несуществующей памяти наиболее вероятно получить либо все нули, либо все единицы. По какой-то причине, которая мне до сих пор не понятна, интерпретатор Бейсика всегда возвращает значение CHR$(233). Результаты не совсем однозначны, но в большинстве случаев Бейсик возвращает именно это странное значение, CHR$(233), при чтении неподключенной памяти.
Такое свойство можно использовать для проверки того, какая часть адресного пространства активна. Листинг 3.1. показывает простую программу на Бейсике, которая считывает по нескольку байт из каждого килобайта памяти и сравнивает их со значением CHR$(233). Если Вы запустите эту программу на своем компьютере, то она покажет какой объем памяти к нему подключен. Рисунок 3.4 показывает результат выполнения этой программы на IBM/PC, который я использовал при написании этой книги. Посмотрим о чем они говорят.
Во-первых, отметим, что были обнаружены три блока памяти - то есть, именно столько, сколько должно быть подключено к IBM/PC. Первый блок начинается с адреса 0 или самого начала памяти. Это обычная, оперативная память компьютера. В данном конкретном компьютере первый блок имеет размер 576Кбайт. Сюда входят 64К в системном блоке и еще 512К в блоке расширения.
Второй блок активной памяти начинается с адреса B000. Это память, используемая адаптером монохромного дисплея. Поэтому можно сделать вывод, что данный компьютер работает с монохромным дисплеем, а не с цветным графическим адаптером. Заметим, что наша исследовательская программа считает, что эта память занимает 32К, в то время как в действительности монохромный адаптер включает включает всего 4Кбайта. Лишние 28К обнаруженные программой, можно, вероятно, отнести на счет побочных эффектов, связанных с работой схем, которые поддерживают реальные 4К памяти. Выполнение той же самой программы в системе с цветным графическим монитором также обнаруживают 32К памяти, хотя реально используется всего 16К.
После памяти адаптера дисплея программа обнаруживает ПЗУ, занимающее верхние адреса памяти. В этом последнем блоке программа обнаруживает ровно столько байт, сколько в нем действительно имеется.
Программа 3-1: Найти и отобразить активную память Потерпите - выполнение этой программы занимает 65 сек (Адреса начала сегментов приведены в шестнадцатиричном виде)
Активная память начинается с 0
заканчивается 8FFF 576К байт
(589824 байта)
Активная память начинается с B000
заканчивается B7FF 32К байт
(32768 байта)
Активная память начинается с F000
заканчивается FFFF 64К байт
(65536 байт)
Конец работы
Хотя программа 3.1 интересна и сама по себе, для исследования памяти Вашей систем, но она также может послужить хорошим примером тех возможностей, которые откроются перед Вами, когда Вы досконально изучите компьютер. Фирма "IBM" не сообщает, что Бейсик считывает из отсутствующей памяти именно значение 233, и никто не объяснял мне, как проверять память. Однако, имея интерес и некоторую настойчивость в исследованиях, я написал программу, приведенную в конце главы, листинг 3.1. Именно к такой работе я Вас и призываю. Изучайте Вашу систему, исследуйте все детали - и тогда Вы приобретете глубокие познания о принципах работы IBM/PC.
Кстати, следует заметить, что эта программа может дать странные результаты, если используются платы памяти, изготовленные не фирмой "IBM". Это еще один признак, позволяющий больше узнать о Вашей системе.


ASCII-коды, американский стандартный код для обмена информацией

Аппаратное и программное обеспечение

Аппаратные прерывания, шина данных

Архитектура компьютера, как работает компьютер

Байты

Биты и числа

Двоичная система счисления

Для чего нужны операционные системы

Микропроцессор - центральный узел персонального компьютера

На что необходимо обратить внимание - прерывания

Организация памяти IBM PC

Память, часть 1 - что это такое и как осуществляется чтение из памяти

Память, часть 2 - что такое адрес

ПЗУ первой персоналки от IBM

Порт

Сверхоперативная память - регистры

СТЕК




Немного рекламы:









































































Реклама и информация:













Счётчик Rambler's Top100