Схема выполнения запросов с системах с кэш-памятью

Блок-схема выполнения запроса в системах с кэш-памятью

Из схемы видно, что когда выполняется запись, кэш просматривается только с целью согласования содержимого кэша и основной памяти. Если происходит промах, то запросы на запись не вызывают никаких изменений содержимого кэша. В некоторых же реализациях кэш-памяти при отсутствии данных в кэше они копируются туда из основной памяти независимо от того, выполняется запрос на чтение или на запись.

В соответствии с описанной логикой работы кэш-памяти следует, что при возникновении запроса сначала просматривается кэш, а затем, если произошел промах, выполняется обращение к основной памяти. Однако часто реализуется и другая схема работы кэша: поиск в кэше и в основной памяти начинается одновременно, а затем, в зависимости от результата просмотра кэша, операция в основной памяти либо продолжается, либо прерывается

48. Структурная схема микропроцессора Intel. Основные функциональные регистры и их назначение: 32-разрядные микропроцессоры на одном кристалле содержат:

1) центральный процессор

2) блок процессора с плавающей точкой

3) устройство управления

4) диспетчер памяти

5) блок предвыборки команд и данных

6) интерфейс магистрали

Центральный процессор включает:

e. АЛУ (арифметико-логическое устройство),

f. 8 32-разрядных регистров общего назначения,

g. многоразрядный сдвигатель, использующийся при арифметических и циклических сдвигах, при умножении и делении.

Блок процессора с плавающей точкой (математический сопроцессор), имея собственные регистры, работает параллельно с центральным процессором, обеспечивая обработку данных с плавающей точкой.

Устройство управления включает дешифратор команд и блок микропрограммного управления.

Диспетчер памяти состоит из блока сегментации и блока страничной адресации. Эти блоки отвечают за сегментное и сегментно-страничное преобразования адресов. Диспетчер памяти обеспечивает 2 режима адресов:

1) реальный режим (режим реальных адресов).

Этот режим унаследован от процессора i8086, в котором адресовался только 1 Мб памяти.

2) защищенный режим (режим виртуальных адресов)

Каждая из задач в защитном режиме изолирована и защищена от других задач. Блок предвыборки команды и данных включает устройство предвыборки команд длиной 32 байта.

В реальном режиме работы микропроцессора может выполняться только 1 задача, в защищенном – несколько. Каждая задача в защищенном режиме изолирована и защищена от других задач.

Блок предвыборки команд и данных включает в себя устройство предвыборки команд и внутреннюю кэш-память. Устройство предвыборки заполняет очередь команд длиной 32 байта. Формат команд определяет, откуда берутся данные и куда помещается результат:

1) RR (регистр – регистр)

8 разрядов 4 разряда 4 разряда
Код операции Код регистра Код регистра

2) RS (регистр – оперативная память)

8 разрядов 4 разряда 12 разрядов
Код операции Код регистра база смещение

1) RI – косвенная адресация

2) SS (оперативная память – оперативная память)

8 разрядов 12 разрядов 12 разрядов
Код операции база смещение база смещение
         

Внутренняя кэш-память этого блока позволяет повысить производительность процессора за счет буферизации в ней часто встречающихся команд и данных.

Интерфейс магистрали – представляет собой общую шину через которую центральный процессор заимствует с памятью, контролерами ввода-вывода и другими активными устройствами.

Все регистры делятся на 4 группы:

1. основные функциональные регистры. В эту группу входят регистры общего назначения, указатель команд, регистры сегментов и регистр флагов.

Регистры общего назначения: EAX, EBX, ECX, EDX, ESI, EPI, EBP, ESP.

4 первых используются для временного хранения основных команд микропроцессора. Остальные 4 предназначены для задания смещения адреса относительно начала некоторого сегмента данных.

Указатель команд EIP (32-разрядный). Младшие 16 разрядов IP – адрес компьютера внутри сети. Указывает на ту команду, которую компьютер выполняет на данный момент.

Регистры сегментов (селекторные): CS, SS, DS,ES, FS, GS.

Эти регистры используются для хранения указателей на строки в таблице сегментов, хранящих описание сегмента команд (CS), сегмента стека (SS), сегментов данных (DS – GS).

Регистр флагов EFLAGS (32-разрядный). Хранит информацию о том, что в текущий момент может делать центральный процессор

2. регистры обработки чисел с плавающей точкой.

3. системные регистры. В группу включается 4 регистра управления и 3 регистра системных адресов.

4. регистры отладки и тестирования. Эти регистры не доступны пользовательским программам и операционной систем, а используется центральным процессором при прохождении теста начальной загрузки.

Основные функциональные регистры: CS, SS, DS, ES, FS, GS эти регистры используются для хранения указателей на строки в таблице сегментов хранящих описание команд, сегмента стека и четырех сегмента данных

49. Организация памяти в MS-DOS. Виды памяти. Варианты использования различных видов памяти: Структура памяти в MS-DOS:

Память, которую могут непосредственно использовать DOS–программы, состоит из двух частей:

1. обычная память (conventional memory), занимающая первые 640 Кбайт основной памяти;

2. верхняя память (upper memory), занимающая адреса основной памяти от 640 Кбайт до 1 Мбайта.

Обычная память может использоваться любой прикладной программой и операционной системой. Как правило, младшие адреса обычной памяти занимают ядро MS-DOS, драйверы, резидентные программы, система прерывания. Оставшуюся часть обычной памяти могут использовать программы пользователя.

Верхняя память отводится для служебных целей. В ней размещаются:

· массивы для хранения BIOS – программ, обеспечивающих тестирование компьютера, начальную загрузку операционной системы, выполнение основных низкоуровневых услуг ввода-вывода и т.п.;

· видеопамять для хранения информации, выводимой на экран;

· массивы для хранения различных расширений BIOS, которые поставляются вместе с некоторыми контроллерами (видеоконтроллером, контроллером дисков и т.д.).

По мере развития программного обеспечения компьютеров, была разработана новая элементная база. Количество адресуемой памяти увеличилось до 16, а затем и до 32 Mb. Память свыше первого мегабайта называется расширенной. Однако, чтобы получить к ней доступ, процессор должен работать в защищенном режиме.

Начальный участок расширенной памяти от 1024 до 1088 килобайт называется областью старшей памяти (High Memory Area - HMA). Эти первые 64 килобайта расширенной памяти операционная система MS-DOS начиная с версии 5.0 может использовать для размещения части своего ядра, области данных и буферов. При этом процессор остается в реальном режиме.

Но MS DOS «не умеет» работать в защищенном режиме, поэтому остальная расширенная память ей недоступна. Для исправления этого недостатка был разработаны стандарт по работе с расширенной памятью и реализующие его драйверы (himem.sys), которые предоставили широкие возможности для использования расширенной памяти DOS- программами.

Для обработки данных, расположенных в расширенной памяти, необходимо сначала переместить их в обычную или верхнюю память MS DOS, там выполнить обработку и затем с помощью запроса к специальному драйверу поместить их обратно.

Более эффективное решение состоит в другом. Если сама программа выполняется в защищенном режиме процессора, то расширенная память доступна ей непосредственно. При этом код программы и обрабатываемые данные могут располагаться в любом месте доступной расширенной памяти. Поэтому многими фирмами были созданы специальные системные программы – расширители DOS (DOS–extenders), позволяющие вызывать функции DOS из защищенного режима работы процессора. Во многих программах, требующих эффективной работы с большими объемами данных (компьютеры, базы данных и т.п.) применяются расширители DOS. Примером может служить операционная оболочка Windows/386 2.0, включающая в себя внутренний расширитель DOS.

50. Защита памяти в ЭВМ: Существуют 3 основных способа защиты процессов в оперативной памяти:

· по граничным адресам,

· по ключам защиты,

· по битам управления.

51. Способы защиты оперативной памяти. Защита по граничным адресам: Существуют 3 основных способа защиты процессов в оперативной памяти:

· по граничным адресам,

· по ключам защиты,

· по битам управления.

Способ защиты по граничным адресам.

Пусть 2 процесса описаны адресами начала и конца сегмента – Анач, Акон.

Этот способ был распространен при сегментной организации памяти.

52. Способы защиты оперативной памяти. Защита по ключам:

· по граничным адресам,

· по ключам защиты,

· по битам управления

Защита по ключам используется при страничной организации памяти.

При выделении памяти процессу, каждая страница памяти, помечается ключом защиты стр. В дальнейшем при обращении процесса к страницам сравниваются ключи защиты которыми помечена страница. При совпадении, доступ разрешен.

Исключение: ядро системы (программа Super Visor) имеет ключ защиты равный 0, имеет доступ к любой странице оперативной памяти.

КЗЗ - ключ защиты задачи

КЗС – ключ защиты страницы оперативной памяти.

53. Способы защиты оперативной памяти. Защита по битам управления: Существуют 3 основных способа защиты процессов в оперативной памяти:

· по граничным адресам,

· по ключам защиты,

· по битам управления.

Способ защиты по битам управления.

Этот способ предполагает, что любой единице учета или распределения памяти ставится в соответствие ряд битов (разрядов) управления, каждый из которых определяет возможность (невозможность) выполнения определенного действия.

Бит чтения БЧ

Бит записи (модификации) БЗ

Бит выполнения БВ

  БЧ БЗ БВ
исходные данные      
изменяемые данные      
код программы      
«вирус»      

1 – режим доступен, 0 – недоступен.

Этот способ подходит для любой организации памяти.

54. Понятие колец защиты и уровня привилегий. Защита памяти на основе этих понятий: В микропроцессоре Intel используется метод распределения привилегий с помощью колец защиты. Чем меньше номер кольца, тем выше уровень привилегий.

Установлены правила:

1. при обращение к сегментам данных кольца с номером N процесс должен обладать уровнем привилегий К ≤ N

2. при обращение к сегментам кода процесс с уровнем привилегий N может обращаться к сегментам, когда этого же кольца или внутренних колец. При обращении к сегментам, когда внутренних колец используется механизм шлюзов.

Шлюз представляет собой специализированный дескриптор, служащий для выравнивания уровней привилегий.

Max(СPL, RPL) ≤ DPL

55.
Понятие шлюза. Использование шлюзов при передаче управления в ЭВМ типа IBM PC: Вызов процедуры может быть реализован несколькими способами:

· прямой вызов процедуры из неподчиненного сегмента,

· прямой вызов процедуры из подчиненного сегмента,

· косвенный вызов через шлюз.

Косвенный вызов через шлюз.

Передача управления через шлюз позволяет организовать обращение к подчиненным сегментам кода. Такие сегменты кода, как правило, соответствуют часто встречающимся функциям и должны быть доступны многим задачам, расположенным во внешних кольцах защиты.

Передача через шлюз основана на использовании специальных дескрипторов типа «шлюз». Структура дескриптора типа «шлюз» отличается от структуры обычного дескриптора сегмента.

Обычный дескриптор база размер   С DPL
«Шлюз» селектор Размер   Р DPL
смещение байт доступа счетчик слов  
селектор сегмента назначения Смещение

Байт доступа

P DPL          

Вызываемый код может иметь любой уровень привилегий.


При использовании «шлюзов» учитываются следующие правила:

a. значение DPL шлюза должно быть больше или равно значения текущего уровня привилегий CPL,

b. значение DPL шлюза должно быть больше или равно значения RPL селектора шлюза,

c. значение DPL шлюза должно быть больше или равно значения DPL целевого сегмента кода,

d. DPL целевого сегмента кода должно быть меньше или равно значения CPL текущего процесса.

56. Проблема тупика. Алгоритм банкира как один из способов решения проблемы тупика: «Тупик» возникает, когда 2 процесса в противофазе пытаются разделить 2 и более общих ресурса. «Алгоритм банкира» – один из способов предотвращения тупика.

Он состоит из двух проверок:

1. Достаточно ли выделяемого ресурса, чтобы процесс завершился. Если «да», то ресурс процессу выделяется, если «нет», то выполняется вторая проверка.

2. Оставшегося после удовлетворения запроса ресурса, будет достаточно для завершения какого-либо процесса или нет. Если «да» – ресурс выдается, если «нет» – процесс, породивший запрос, блокируется.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: