Процессор Intel

Автор работы: Пользователь скрыл имя, 23 Октября 2011 в 17:51, лекция

Краткое описание

Высокопроизводительный 32-х разрядный микропроцессор 80i86 ориентирован на эффективное выполнение программ в среде многозадачных ОС (типа Windows). Микропроцессор имеет 32-разрядные регистры и 32-х разрядные раздельные шины адреса и данных.

Содержимое работы - 1 файл

Архитектура ЭВМ.doc

— 1.20 Мб (Скачать файл)

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

      TABLE – указывает относительный адрес таблицы страниц выбираемого раздела в каталоге.

      PAGE – задает относительный адрес требуемой страницы данного раздела.

      BYTE – содержит относительный адрес выбираемого на странице байта.

      Каталог разделов занимает одну страницу памяти, где для каждого раздела содержатся 32-разрядные указатели входа в таблицу страниц этого раздела. Каждая из таблиц страниц также занимает одну страницу памяти, где для каждой страницы дается 32-хразрядный указатель входа в эту страницу.

      Указатели входа в раздел и в страницу имеют одинаковый формат:

      

      Каждый  указатель содержит информацию, определяющую порядок использования страниц. Старшие 20 разрядов занимает базовый адрес. Остальные разряды имеют следующий смысл.

      Р – бит присутствия. Если Р=1, то разрешается  использование таблицы страниц, если Р=0, то такое использование запрещается. При Р=0 попытка обращения к соответствующему разделу или странице вызывает прерывание из-за отсутствия нужной страницы в оперативной памяти. После загрузки нужной страницы в память, бит Р устанавливается в «1» и в этом случае обращение к данной странице становится возможной. Это нужно для того, чтобы ОС знала, где находится страница.

        R/W  - бит чтения/записи.

        U/S  -  бит пользователь/супервизор.

      Эти два бита определяют право доступа  к соответствующей странице или разделу для программ пользователя. Программа пользователя обычно имеет самый низкий уровень привилегий равный 3. Если осуществляется запрос с уровнем привилегий равным 3, то при значении U/S = 0  программе пользователя запрещается доступ к разделу или странице.

      При U/S = 1 обращение разрешается, но при этом учитывается значение  бита R/W.

      Если  R/W  = 0, то программе пользователя разрешается только чтение раздела или страницы.

      Если  R/W = 1,  то разрешается как чтение, так и запись. Если осуществляются запросы с большим уровнем привилегий (0, 1 и 2), то допускается запись и чтение разделов и страниц при любых значениях ‘1’ и ‘2’ разрядов.

      Такие уровни привилегий имеет ОС.

      А  - бит доступа. Этот бит автоматически  устанавливается в «1» микропроцессором при обращении к данному разделу или странице для записи или чтения.

      D – бит «мусора». В указателе кадра страницы этот бит устанавливают в «1» при записи на данную страницу. Для указателей таблиц страниц значение бита D является неопределенной.

      Биты  D и A используются ОС, поддерживающей виртуальную память, для определения в ОЗУ тех разделов и страниц, которые подлежат удалению из ОЗУ, поскольку к ним долгое время не было обращения. Проверку и сброс этих разрядов выполняет ОС.

      Алгоритм  формирования физического адреса:

        

      Содержимое  CR3 (регистр управления) задает старшие 20 разрядов базового адреса для входа в каталог раздела. Для получения физического адреса строки каталога разделов к этим 20 разрядам добавляется 10-тиразрядное поле TABLE линейного адреса и 2 нулевых младших разрядов. По полученному таким образом адресу обращаются к каталогу разделов, откуда выбирают указатели входа в таблицу страниц. Этот указатель содержит 20-разрядный базовый адрес таблицы страниц. К этим 20 разрядам добавляется поле PAGE и 2 нулевых младших разряда. В результате получается адрес строки таблицы страниц. В этой строке находится указатель входа в страницу, содержащий 20-разрядный базовый адрес страницы. Добавление к этому базовому адресу 12-тиразрядного поля BYTE дает физический адрес байта.

      Существенное  сокращение времени преобразования адресов в микропроцессоре достигается путем внутренней ассоциативной памяти, которая называется «буфером ассоциативной трансляции» и обозначается TLB. 
 

      Буфер с ассоциативной трансляцией TLB

        Буфер с ассоциативной трансляцией  предназначен для повышения производительности CPU – за счет ускоренного формирования физических адресов, 

      TLB представляет собой память с ассоциативной выборкой, которая содержит 20-ти разрядные базовые адреса 32-х страниц, то есть, старшие 20 разрядов физического адреса страницы. Каждый из базовых адресов имеет свой признак (тег). В качестве тега используются старшие 20 разрядов линейного адреса, то есть поля  TABLE и PAGE. Ускорение формирования физического адреса достигается за счет того, что старшие 20 разрядов физического адреса извлекаются из TLB за одно обращение к этой памяти и сразу же пересылает в регистр физического адреса. Таким образом, если старшие 20 разрядов физического адреса находятся в TLB, то не требуется запускать сложный универсальный алгоритм формирования физического адреса и за счет этого сэкономить время.  

        Формирование физического адреса  с использованием TLB производится следующим образом:

      При поступлении в блок управления страницами линейного адреса его старшие 20 разрядов сравниваются с тегами физических адресов, хранящихся в TLB. Если обнаруживается совпадение этих разрядов с каким-либо из тегов, то из TLB выбирается соответствующий этому тегу базовый адрес. Страничный диспетчер формирует 32-хразрядный физический адрес, в котором выбранный из  TLB базовый адрес задает 20 старших разрядов, а поле  BYTE линейного адреса – 12 младших разрядов.

      

        В случае, когда базовый адрес страницы находится в TLB, называется КЭШ-попаданием. При этом не требуется обращаться к ОЗУ для выборки указателя входа в таблицу страниц и в саму страницу, т.е не требуется запускать универсальный алгоритм формирования физического адреса. В случае КЭШ попадания физический адрес формируется с помощью TLB, так как показано на рисунке.

      Если  базовый адрес нужной страницы отсутствует  в  TLB, то такое обращение называется КЭШ-промахом. При этом микропроцессор выполняет описанную выше процедуру формирования физического адреса с помощью каталога разделов и таблиц страниц. Полученный при этом из таблицы страниц 20 - разрядный базовый адрес вместе с соответствующими 20 разрядами старшей части адреса (тегом) записывается в свободную или дольше других занимаемую ячейку  TLB. Таким образом, обеспечивается непрерывное обновление содержимого TLB, т.е. в TLB находится информация о начальных адресах тех 32 страниц, которые выполняются в данный момент времени.

      Помимо  тега и начального адреса страницы в TLB хранится дополнительная информация, позволяющая в частности определить, какую строку в TLB можно заменить на новую строку, содержащую информацию о начальном адресе той страницы, к которой произошло первое обращение. Для этого каждая строка TLB дополняется бит D, который установливается в “1” при обращении к этой странице. Этот бит D проверяется и сбрасывается в “0” ОС при определении той строки TLB, которая подлежит удалению, с тем чтобы освободить место для новой строки. Т.к. TLB хранит адреса только 32 страниц объемом 4 кб каждая, то микропроцессор может непосредственно формировать физический адрес только для 128 кб памяти (4 х 32). При этом по статистике вероятность КЭШ попадания равна 0,98. Таким образом, только в 2-х случаях из 100 будут промахи, которые требуют двухступенчатого преобразования адресов с использованием универсального алгоритма, т.е. с использованием каталогов, разделов и страниц. 

      Организация виртуальной памяти

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

      В системе с виртуальной памятью  бит Р должен точно отображать месторасположение виртуальной страницы, которая может находиться либо в ОЗУ, либо на диске. ОС следит за состоянием бита Р. Микропроцессор автоматически проверяет состояние бита Р в каталоге таблиц страниц и в самой таблице станиц, при каждом обращении к памяти. Если Р=1, то это значит, что та  страница к которой происходит обращение находится в ОЗУ. В этом случае производится трансляция адресов либо с универсальным алгоритмом, либо с TLB.

      Если  Р=0, то это значит, что нужной страницы в ОЗУ нет, а эта страница находится на диске, поэтому в случае Р=0 обращение к памяти не выполняется, ситуация квалифицируется как «ошибка страниц» и CPU генерирует исключительную ситуацию. В этом случае управление передается ОС, которая после анализа исключительной ситуации определяет, что произошла ошибка страниц, находит нужную страницу на диске, загружает ее в ОЗУ, устанавливает бит Р «1» и возвращает управление той программе, которая вызвала эту ситуацию.

      Таким образом, происходит непрерывное обновление содержимого ОЗУ, т.е. в ОЗУ загружаются те страницы, которые нужны в данный момент времени и удаляются те, обращение к которым долго не производилось. Для определения тех страниц, которые подлежат удалению из ОЗУ, используют биты A и D, т.е. 5 и 6 разряды указателей. 

      Таким образом, страничная организация памяти используется при организации виртуальной памяти, когда ОС вместе с CPU непрерывно обновляет содержимое ОЗУ, удаляя долго не используемые страницы для записи на освободившееся место нужной в данный момент страницы.

      Определим объем виртуальной памяти 32-х разрядного CPU, т.е. объем той памяти, который этот CPU может адресовать.

      Объем виртуальной памяти равен максимальному  объему сегмента (4 Гб), умноженному на количество этих сегментов.

      Количество  сегментов определяется объемом  глобальной и локальной  таблиц дескрипторов . В каждой из этих таблиц  создается 213 дескрипторов, что позволяет адресовать 213 сегментов. Таким образом, максимальный объем виртуальной памяти равен:

      

      Таким образом, микропроцессор имеет технические  средства, которые позволяют адресовать виртуальную память до 64 Тб, при условии  использования ОС поддерживающей виртуальную память. 

Встроенные  средства защиты информации в МП фирмы Intel

Концепции и компоненты защищенного режима

   Защищенный  режим работы в МП Intel предусматривает аппаратную поддержку различных вариантов защиты информации от помех. Предусмотренные возможности и глубина защиты определяется использованными ОС. Необходимость в защите информации возникла при переходе на многопрограммный режим работы. ЭВМ, допускающие многопрограммный режим работы должны обеспечивать следующие требования:

  1. независимость подготовки пользовательских программ и защита от взаимных помех.
  2. защиту программ ОС от помех при сбое программ пользователей.
  3. защиту программ  ОС верхнего уровня от помех при сбоях программ ОС нижнего уровня.
  4. защита программ от отрицательных последствий при программных сбоях.
  5. Защита целостности системы.

   Рассмотрим, как обеспечиваются перечисленные требования в МП Intel:

    1. независимость подготовки пользовательских программ и защита от взаимных помех.

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

Информация о работе Процессор Intel