Организация оперативной памяти.
Иерархия памяти.
Регистровая память – самая быстрая и маленькая. Каждый регистр это ячейка памяти, Регистр состоит из триггеров (элементарный запоминающий элемент процессора, может иметь два значения 0 или 1).
Вторая по скорости память кэша L1 – примерно 265 Кб (на каждое ядро) частота кэша L1 равна процессорной, поэтому эта память очень быстрая.
Третьей по скорости является память кэша L2, она больше чем память кэша L1, около 2-12 Мб. Она тоже находится на одном с процессором кристалле потому доступ к ней также очень быстрый.
На теперешний момент есть ещё и кэш L3 и кэш L4 (актуальны для мультипроцессорных систем), L3 имеет ещё больший размер, чем L2, L3 обычно расположен отдельно от ядра ЦП ~ 32 Мб.
Оперативная (основная) память – значительно больше и намного медленнее кэша (в типичном компьютере время доступа к ОП в 10 раз дольше времени доступа к кэшу L1). Объём оперативной памяти зависит от ширины шины адреса.
Память жёсткого диска и память внешних носителей – огромные объёмы недорогой памяти (1 – 4 Тб нормальный объём).
Описание набора регистров микропроцессора Intel.
Пользовательскими регистры называются потому, что программист может их использовать при разработке программ:
1)восемь 32-битных регистров, которые могут использовать программисты для хранения данных и адресов.
eax/ax/ah/al
ebx/bx/bh/bl
ecx/cx/ch/cl
edx/dx/dh/dl
esi/si
edi/di
ebp/bp
esp/sp
2)шесть регистров сегментов:cs, ds, es, fs, ss, ps.
3)регистр состояния (регистр флагов) eflags/flags.
4)регистр управления eip/ip.
Наклонной чертой обозначаются части одного большого 32-разрядного регистра: они могут использоваться в программе как отдельные объекты.
Регистры общего назначения физически находятся в микропроцессоре внутри АЛУ, поэтому их еще называют регистрами АЛУ.
eax/ax/ah/al-регистр-аккумулятор (для хранения промежуточных данных).
ebx/bx/bh/bl-базовый регистр(для хранения базового адреса некоторого объекта в памяти).
ecx/cx/ch/cl-регистр счетчик(применяется в командах, производящих некоторые повторяющиеся действия).
edx/dx/dh/dl-регистр данных(для хранения промежуточных данных).
esi/si-индекс источника(содержащий текущий адрес элемента в цепочке-источнике (первоначальная строка))
edi/di-индекс приемника(получателя)(регистр содержащий текущий адрес элемента в цепочке-приемнике (результирующая строка)).
Регистры ebp/bp и esp/sp предназначены для работы со стеком.
esp/sp-регистр указателя стека. Содержит указатель вершины стека в текущем сегменте стека.
ebp/bp-регистр указателя базы кадра стека. Для организации произвольного доступа к данным внутри стека.
Сегментные регистры
cs - сегментный регистр кода (содержит адрес сегмента кода)
ds - сегментный регистр данных (содержит адрес сегмента данных)
ss - сегмент стека (содержит адрес сегмента стека)
Если программе недостаточно одного сегмента данных, то она имеет возможность использовать еще три дополнительных сегмента данных es,gs,fs.
Регистр управления eip/ip содержит информацию о состоянии программы, команды которой в данный момент загружены на конвейер. eip/ip-регистр-указатель команд (содержит смещение следующей подлежащей выполнению команды(относительно текущего сегмента кода)).Разрядность 32/16 бит.
Регистр флагов eflags/flags (32/16 бит).
Флаги регистра флагов:
cf - флаг переноса;
pf - флаг паритета;
af - вспомогательный флаг переноса;
zf - флаг нуля;
sf - флаг знака;
of - флаг переполнения.
Системные регистры можно разделить на три группы:
четыре регистра управления;
четыре регистра системных адресов;
восемь регистров отладки.
Регистры управления: cr0, cr1, cr2, cr3. Эти регистры предназначены для общего управления системой.
Регистры управления доступны только программам с уровнем привилегий 0.
Хотя микропроцессор имеет четыре регистра управления, доступными являются только три из них — исключается cr1, функции которого пока не определены (он зарезервирован для будущего использования).
Регистр cr0 содержит системные флаги.
Регистр cr2 используется при страничной организации оперативной памяти.
Регистр cr3 также используется при страничной организации памяти. Это так называемый регистр каталога страниц первого уровня.
Регистры системных адресов
Эти регистры еще называют регистрами управления памятью.
Они предназначены для защиты программ и данных в мультизадачном режиме работы микропроцессора.
Регистры отладки
Это очень интересная группа регистров, предназначенных для аппаратной отладки. Средства аппаратной отладки впервые появились в микропроцессоре i486. Аппаратно микропроцессор содержит восемь регистров отладки, но реально из них используются только 6.
Регистры dr0, dr1, dr2, dr3 имеют разрядность 32 бит и предназначены для задания линейных адресов четырех точек прерывания. Регистр dr6 называется регистром состояния отладки. Регистр dr7 называется регистром управления отладкой.
Организация оперативной памяти.
Адресация -метод указания на ячейку памяти, к которой производится доступ.
ОП организована как последовательность байтов. Каждому байту соответствует уникальный адрес (его номер), который называется физическим адресом.
Для определения физического адреса команды содержимое сегментного регистра умножается на 16.
Сегментированная модель памяти. Память для программы делится на сегменты. Сегмент представляет собой независимый, поддерживаемый на аппаратном уровне блок памяти. Сегментированная модель памяти поддерживается и в реальном, и в защищенном режимах работы микропроцессора.
Виртуальная память -технология, которая была разработана с целью увеличения общего объема памяти, организации множества адресных пространств памяти, их защиты и автоматизации процесса перемещения машинного кода и данных между основной памятью компьютера и вторичным хранилищем.
Страничная модель памяти.
Это надстройка над сегментной моделью. ОП делится на блоки фиксированного размера 4Кб. Каждый блок называется страницей. Основное применение этой модели связано с организацией виртуальной памяти. Поддерживается только в защищенном режиме работы микропроцессора.
Сегментно-страничный способ распределения памяти. Программа разбивается на сегменты. Адрес по-прежнему состоит из двух частей сегмент+смещение. Но смещение относительно начала сегмента может состоять из двух полей: виртуальной страницы и индекса.
Для доступа к памяти необходимо:
1)вычислить адрес дескриптора сегмента и прочитать его.
2)вычислить адрес элемента таблицы страниц этого сегмента и извлечь из памяти необходимые элементы.
3)к номеру физической страницы приписать номер ячейки в странице.
Чтобы избежать задержки в доступе к памяти вводится кэширование.
Плоская модель памяти. Если считать, что задача состоит из одного сегмента, который в свою очередь, разбит на страницы, то фактически мы получаем только один страничный механизм работы с виртуальной памятью. Этот подход называется плоской памятью.
В абсолютном большинстве современных 32-разрядных ОС используется плоская модель памяти.
14.Внешняя память.
Физическая организация жестких дисков.
Жесткий диск включает в себя корпус из прочного сплава, диски(пластины) с магнитным покрытием, блок головок с устройством позиционирования, электропривод шпинделя.
Логическая структура жестких дисков. С целью адресации пространства поверхности пластин диска делятся на дорожки концентрические окружности. Каждая дорожка делится на равные отрезки-сектора. Адресация CHS(cylinder-head-sector) предполагает, что все дорожки на заданной стороне диска имеют одинаковое число секторов. Цилиндр-совокупность дорожек равноотстоящих от центра, на всех рабочих поверхностях пластин жесткого диска. Номер головки задает используемую рабочую поверхность, т.е. конкретную дорожку из цилиндра, а номер сектора-конкретный сектор на дорожке.
Главная загрузочная запись (MBA).
Формирование MBA происходит во время первоначальной установки компьютера и разделения его жесткого диска на разделы (логические диски).
MBA не зависит от ОС. Состоит из: 1)выполняемого кода; 2)таблицы разбиения диска.
Структура разделов диска.
Жесткий диск может быть разбит на несколько разделов, которые затем могут в принципе использоваться либо одной, либо различными ОС. На каждом разделе может быть организована своя файловая система.
Разделы двух типов:
-primary(первичный, простейший);
-extended(расширенный).
В самом первом секторе на винчестере (по физ.адресу 0-0-1) располагается главный загрузочный сектор.
Гибкие магнитные диски:
дискета -портативный магнитный носитель информации, используется для многократной записи, хранения данных сравнительно небольшого объема.
Оптический диск — собирательное название для носителей информации, выполненных в виде дисков, чтение с которых ведётся с помощью оптического излучения. Диск обычно плоский, его основа сделана из поликарбоната, на который нанесён специальный слой, который и служит для хранения информации.Четыре поколения оптических дисков:
1) Лазерный диск,Компакт-диск,Магнитооптический диск.
2) DVD, MiniDisc, Digital Multilayer Disk, DataPlay, Fluorescent Multilayer Disc, GD-ROM, Universal Media Disc.
3) Blu-ray Disc, HD DVD, Forward Versatile Disc, Ultra Density Optical, Professional Disc for DATA, Versatile Multilayer Disc.
4) Holographic Versatile Disc, SuperRens Disc.
DVD — цифровой многоцелевой диск— носитель информации, выполненный в форме диска, имеющего такой же размер, как и компакт-диск, но более плотную структуру рабочей поверхности, что позволяет хранить и считывать больший объём информации за счёт использования лазера с меньшей длиной волны и линзы с большей числовой апертурой.
Флеш-память — разновидность полупроводниковой технологии электрически перепрограммируемой памяти (EEPROM).
USB-флеш-накопитель — запоминающее устройство, использующее в качестве носителя флеш-память и подключаемое к компьютеру или иному считывающему устройству по интерфейсу USB.
Утилиты, позволяющие разбить диск на разделы, обычно называются FDISK (form или fixed disk) фирмы Microsoft.
Разработано большое количество аналогичных утилит. Например, ADM фирмы MITAC. (Самостоятельное изучение)
FDISK для MS-DOS позволяет сделать только один первичный раздел и один расширенный раздел. Расширенный раздел предлагается разделить на несколько логических дисков.
FDISK для OS/2 позволяет создавать несколько первичных разделов, причем их можно выделять даже с конца свободного дискового пространства (это удобно, например, если надо исключить из работы некоторый диапазон из-за дефектов)
Воспользуйтесь поиском по сайту: